자동 형 변환numpy에서 수치연산 진행할 때 각각의. dtype이 다르면, 타입이 큰쪽(int 된다.# a와 b 배열 생성 & 타입 확인a = np.ones(3, dtype=np.int32)b = np.linspace(0, np.pi,3)print(a)print(b)print(a.dtype)print(b.dtype)>>> [1 1 1]>>> [0. 1.57079633 3.14159265]>>> int32>>> float64 a(int), b(float) 연산 시 float로 upcasting 된다.c = a + bprint(c)print(c.dtype)>>> [1. 2.57079633 4.14159265]>>> float64 집계 함수.sum: 모든 요소의 합.min: 모든..
전체 글
하다보니 재미있는 AI에 빠져있는 평양냉면7 문의사항: ysoil8811@gmail.comarange & linspacenp.arange: N만큼 차이 나는 숫자를 생성해 준다.np.linspace: N 등분한 숫자를 생성해 준다.np.arange([start], stop, [step]..)[]는 생략 가능하다.끝 값은 포함하지 않는다.np.linspace(start, stop, num=50..)처음 값과 끝 값을 포함한다,몇 개로 만들지 매개변수로 넘겨준다. 예제 코드# 10이상 30미만 까지 5씩 차이나게 생성print(np.arange(10,30,5))>>> [10 15 20 25]# 0이상 2미만 까지 0.3씩 차이나게 생성print(np.arange(0,2,0.3))>>> [0. 0.3 0.6 0.9 1.2 1.5 1.8]# 0~99까지 100등분x = np.linspace(0, ..
데이터 압축이 필요한 이유?데이터 전송 시 대용량 데이터는 전송 속도가 느리며, 전송 문제가 발생할 가능성이 높다.데이터 압축의 종류무손실 압축 : 데이터 손실이 전혀 없는 압축손실 압축 : 사람이 눈치채지 못할 수준의 정보만 버리고 압축하는 방법. 대신 무손실 압축보다 압축률을 높일 수 있다.압축률 : 원시 자료량 (원래 데이터 크기) / 압축된 자료량 (압축된 데이터 크기)다양한 압축 알고리즘에 따라 압축 성능 및 시간이 좌우된다.압축 : 인코딩 (Encoding)압축 해제 : 디코딩 (Decoding) 런 - 길이 부호화 (Run-Length Encoding)대표적인 무손실 압축 방법이다. AAAABBBBBCCCCCCCCDEEEE라는 문자열을4(번의) A5(번의) B8(번의) C1(번의) D4(번의..
glob파일을 찾을 때 자주 사용되는 모듈이다. 파일 탐색기에서 파일을 탐색하듯, 파이썬 코드에서 파일을 탐색할 수 있는 게 glob 모듈이다. glob는 패턴을 이용하여 파일을 검색할 때 사용하는 모듈이고 여기서 패턴이라 하면, 파일이 어떤 특징을 갖는지, 뭐 어떤 확장자를 갖는지, 특정 단어가 포함된 파일을 찾는다거나 이런 패턴을 말한다. 파일 확장자로 찾기import globimport os# 현재 디렉토리 확인os.getcwd()>>> '/Users/yijun/study/workspace/python/library/ch04. [파일디렉터리] 업무효율 향상을 위한 폴더 관리 프로그램 만들기'# txt 파일 찾기 - 현재 경로for filename in glob.glob("*.txt"): pr..
Pickle 모듈은 파이썬 객체를 직렬화(serialize)하여 파일로 저장하고, 나중에 다시 불러올 수 있게 해주는 유용한 도구다. 이 과정을 통해 파이썬 프로그램의 상태를 지속적으로 유지할 수 있으며, 특히 모델 학습 결과나 복잡한 데이터 구조를 저장하는 데 활용된다. 그러나 pickle은 대용량 데이터 처리에는 적합하지 않으며, 대용량 데이터는. txt,. csv,. json 형식으로 저장하는 것이 더 효율적이다. Pickle 기본 개념영속성(persistence)파이썬 객체는 메모리에 상주하며, 파이썬 인터프리터가 종료되면 메모리와 함께 사라진다. Pickle은 이러한 객체들을 파일에 저장하여 프로그램 종료 후에도 데이터를 유지할 수 있게 한다. 직렬화(Serialization)Pickle 모듈을..
클로저함수 안의 함수를 결과로 반환할 때, 그 내부 함수를 클로저(Closure)라고 한다. 사용되는 곳은 다음과 같다.콜백(Callback) 함수에 사용함수의 순차적 실행데코레이터 함수 # 받은 수에 3을 곱하는 함수def mul3(n): return n * 3mul3(3)3# 받은 수에 5를 곱하는 함수def mul5(n): return n * 5mul5(3)15 이때 비슷한 기능을 하는 mul6, mul7, mul8... 도 만들어야 할까?? 방법 1. 클래스(class) 사용class Mul: def __init__(self, m): self.m = m def mul(self, n): return self.m * nif __name__ == "__m..
모든 프로세스는 실행을 위해 자원이 필요하다. 그런데 서로의 자원을 무한히 기다리기만 한다면 어떻게 될까?교착 상태교착 상태는 일어나지 않을 사건(필요한 자원의 할당)을 기다리며 일부 자원을 보유한 채로 무한히 대기하는 현상이다. 교착 상태가 발생할 수 있는 조건상호 배제: 동시에 자원 사용이 불가능한 경우점유와 대기: 자원을 할당받은 채 다른 자원의 할당을 기다리는 경우비선점: 강제로 자원을 빼앗을 수 없는 경우원형 대기: 자원을 원형으로 대기할 경우 교착 상태 해결 방법교착 상태 예방교착 상태 회피교착 상태 검출 후 회복교착 상태 예방교착 상태 발생 조건 네 가지 중 하나를 없애는 것교착 상태가 발생 배경 원천 차단교착 상태가 발생하지 않음을 보장할 수 있지만, 여러 부작용이 따르는 방식이다. 상호 ..
👇 동기화 해결 방법으로 뮤텍스 락과 세마포에 대한 내용은 다음 링크에서 확인할 수 있다. 👇 동기화 해결 방법 (1) - 뮤텍스 락과 세마포 [운영 체제] 동기화 해결 방법 (1) - 뮤텍스 락과 세마포동기화 해결의 세 가지 원칙상호 배체: 한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 대기해야 함진행: 어떤 프로세스도 임계 구역에 진입하지 않았다면 진입이 가능해야 함유한 대yijoon009.tistory.com 기존 동기화 도구의 문제점세마포를 누락한 경우wait과 signal 순서를 헷갈린 경우wait과 signal을 중복해서 사용한 경우 모니터사용이 간편한 동기화 도구공유 자원에 접근하기 위한 인터페이스인터페이스를 통해서만 접근(상호 배제) 실행 순서 제어를 위한 동기화를 위해 조건..