일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- numpy
- ssh
- 사회조사분석사2급
- 기초확률론
- docker attach
- docker exec
- logistic regression
- CellPin
- WSSS
- airflow
- 히비스서커스
- cs231n
- IVI
- Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images
- 티스토리챌린지
- 오블완
- Pull Request
- vscode
- GIT
- Decision Boundary
- 프로그래머스
- aiffel exploration
- HookNet
- 코크리
- Jupyter notebook
- 백신후원
- AIFFEL
- cocre
- docker
- 도커
- Today
- Total
목록Programming/Python (42)
히비스서커스의 블로그
numpy로 각종 이미지 처리를 하며 numpy 기능들 정리들을 정리해보았다. 축 관련 축(차원) 제거하기 numpy.squeeze(a, axis=None) a라는 numpy 배열에서 축(차원)을 제거할 때 사용, 보통 shape을 찍었을 때 값이 1인 것만 제거가 가능 배열 추가하기 numpy.expand_dims(a, axis) a라는 numpy 배열에서 축(차원)을 추가할 때 사용 관련된 예제 확인 https://numpy.org/doc/stable/reference/generated/numpy.squeeze.html numpy.squeeze — NumPy v1.21 Manual numpy.squeeze numpy.squeeze(a, axis=None)[source] Remove axes of le..
binary semantic segmentation을 keras framework로 이미지 처리를 numpy로 진행할 시 마주친 여러 문제들을 정리해보았다. 개인적인 견해와 상황이므로 정확하지 않을 수 있으니 참고만 해주길 바란다. keras semantic segmentation 시 generator에서 주의해야 할 사항 먼저 이미지 데이터 타입으로 unit8, uint16, uint32, float32 등 여러 가지 타입이 존재하지만 가장 많이 쓰는 것은 unit8 (min=0, max=255)과 float32(8bit의 지수, 23bit의 소수)인 듯 하다. 주어진 이미지와 마스크는 데이터 타입이 uint8이었다. 또한, binary segmentation을 시도하는 중이었기에 mask의 최대값은 ..
파이썬에서 코딩하며 간단하게 나타낼 수 있는 코드와 서버에서 GPU를 분산 처리할 때 쓰는 코드를 기억하기 위해 남겨본다. 간단하게 나타낼 수 있는 코드 리스트가 채워져 있는 경우에만 조건을 주기 a = [] if a: (명령어 1) # 리스트에 원소가 있는 경우에만 실행 else: (명령어 2) # 리스트에 원소가 없는 경우에 실행 예시로 위의 결과는 명령어 2가 실행된다. 특정 조건일 경우에 변수를 다르게 저장하기 b = 3 a = 5 if b == 3 else 4 # b가 3인 경우 a는 5로 b가 5가 아닌 나머지의 경우 4로 할당 예시로 위의 결과는 a에 5가 할당이 된다. 이차원 리스트에서 특정 열 골라서 리스트로 만들기 double_list = [[1,2], [3,4], [5,6]] [i[0..
파이썬으로 작업을 하다보면 numpy를 쓸 일이 정말 많은 것 같다. 사실 numpy를 많이 써보긴 하였으나 깊게 파면서 직접 코드를 짜본 적은 없는 것 같다. 하지만 이미지처리나 딥러닝을 python으로 잘 활용하기 위해서는 numpy를 잘 활용하는 것이 중요한 것 같다. 이번에는 이미지 분류를 하기 위해서 이미지의 라벨링을 하는 것과 배치 처리를 하는 여러 방법들 중 numpy를 활용한 방법을 정리해보았다. 먼저 이미지를 넣을 array를 x, 라벨을 넣을 array를 y로 하여 만들어준다. import numpy as np number_of_data = 1300 # 데이터 수 img_size = 256 # 이미지의 사이즈 (정사각형으로 간주) color = 3 # 컬러는 3, 흑백은 1 batch_..
패치작업을 하다보니 하나의 주피터 노트북 파일로 실행을 하려다보니 너무나 오래걸림을 깨달았다. 이럴 때 py파일로 multiprocessing을 하여 병렬처리하는 것이 더 효율적이란 것을 알게 되었고 공부하며 한 번 정리해보았다. multiprocessing 모듈은 threading 모듈과 유사한 API를 사용하여 process spawning(OS가 다른 프로세스의 요청에 의해 자식 프로세스를 생성하는 기술)을 지원한다. multiprocessing package는 local과 원격 동시성을 모두 제공하며 thread 대신 subprocess를 사용하여 global interpreter lock(한 번에 오직 하나의 thread가 파이썬 byte code를 실행하도록 보장하기 위해 CPython 인터프..
매번 코드를 보다보면 느끼는 거지만 기본이 너무 중요한 것 같다. numpy에서 slicing을 어떻게 하는지 직관적으로 다시 이해하기 위하여 여러 실험을 진행해보았다. 좀 까다로운 2 dimension, 3 dimension array에서 slicing하는 것을 실험해보았다. 다시는 잊어버리지 말자! 2 dimension이든 3 dimension이든 slicing에서 잊지 말아야할 규칙은 가장 첫번째 인자가 가장 바깥의 array를 slicing한다는 것이다. 이후는 순차적으로 접근을 하면 된다. 실험을 통해 살펴보자. 2 dimension 첫번째 인자를 1:3으로 slicing을 하였고 두번째 인자를 0:2로 slicing을 진행하였다. 그림으로 살펴보면 다음과 같다. 먼저 첫번째 slicing(1:..
오늘 오전 Fundermental 노드와 오후에 풀잎스쿨을 하며 모두 클래스와 모듈에 관한 이야기가 나왔고, 저녁에 Exploration 노드를 하며 코드에도 사용되었기에 개념을 한 번 정리해두어야 겠다는 생각이 들었다. 클래스 (주로 PascalCase 컨벤션으로 클래스명을 작성 ) 클래스는 프로그래밍으로 객체(=특정대상)을 찍어내기 위한 일종의 틀이다. 여러 개의 함수들이 클래스 안에서 정의될 수 있고 클래스에서 불러올 수 있다. 주의: 물론 함수 안에도 함수를 정의할 수 있지만, 함수 안의 함수는 소속된 함수 안에서 밖에 쓰이질 못한다. 클래스 안에는 데이터와 같은 속성(주로 변수)과 기능과 같은 메소드(주로 함수)가 존재한다. 하지만 클래스는 특정 개념만 표현할 뿐이고 인스턴스를 생성하여 객체로 ..
RNN의 적용방법에는 다양한 방법이 있다. 이들 중 감성분류에 쓰이는 many to one 방법(빨간색)과 주어진 단어들을 토대로 작문에 쓰이는 many to many 방법(연두색)에서 padding 방식을 pre와 post 어느 것으로 하면 좋을지 직관적으로 생각해보았다. 먼저 padding을 RNN 에서 사용되는 의미로 간단히 말하자면 각각의 입력(token, sequence 등등)의 길이가 모두 같지 않기에 이를 맞춰주기 위해 0을 넣어주는 작업이라고 생각하면 좋다. 여기서 앞에서 0을 넣어주는 방식이 pre 방식이고 뒤에서 넣어주는 방식이 post방식이다. 아래에 예시 코드와 결과이다. # Padding from tensorflow.keras.preprocessing.text import Toke..