DeepLearning
-
[postgresql] docker로 실행 후 쉘에 접속하는 방법!Database/mysql 2020. 5. 27. 16:35
이미지 어노테이션을 해야해서 cvat를 깃허브에서 받아 설치했다. 링크 메뉴얼 따라 설치 후 실행을 하면 아래 그림과 같다. (참고로 난 MacOS) 여기서 나는 postgresql의 쉘에 접근해보고자 한다. 참고로 한번도 postgresql을 써본적이 없다. cvat는 기본적으로 아래와 같이 DB를 세팅한다. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'cvat_db', 'NAME': 'cvat', 'USER': 'root', 'PASSWORD': os.getenv('POSTGRES_PASSWORD', ''), } } 도커에 bash 접속 local# exec -it cvat_db bash 아래와 같이 입력..
-
[pytorch] MLP model source code by pythonAI 2020. 4. 24. 16:57
아래는 pytorch로 작성한 MLP모델의 소스코드이다. class MLPModel(nn.Module): def __init__(self, in_dim, out_dim, hid_dim, n_layer, act): super(MLPModel, self).__init__() self.in_dim = in_dim self.out_dim = out_dim self.hid_dim = hid_dim self.n_layer = n_layer self.act = act self.fc = nn.Linear(self.in_dim, self.hid_dim) self.linears = nn.ModuleList() for i in range(self.n_layer-1): self.linears.append(nn.Linear(s..
-
[pytorch] How to use nn.CrossEntropyLoss() 사용법AI 2020. 4. 21. 19:17
아래 코드는 pytorch에서 loss function으로 CrossEntropy를 사용하는 예이다. cls_loss = nn.CrossEntropyLoss() test_pred_y = torch.Tensor([[2,0.1],[0,1]]) # 실제 사용에선 softmax에 의해 각 행의 합이 1이 될 것이다. test_true_y1 = torch.Tensor([1,0]).long() # 1은 true값이 1번째(클래스)라는 것을 의미 test_true_y2 = torch.Tensor([0,1]).long() print(test_pred_y) print(test_true_y1) print(test_true_y2) print(cls_loss(test_pred_y, test_true_y1)) print(cls..
-
[DeepLearning] 학습 단계를 train, validation, test 로 나누는 이유AI 2020. 4. 20. 21:33
pytorch로 예제를 학습하는 도중에 익숙치 않아서 그런지 사소한 개념이 적립에 시간이 많이 소요되고 있다. 그 중 하나가 모델을 학습할때 train, validation, test로 단계를 나누는 이유이다. pytorch에선 아래 코드로 모드를 변경 시킬 수 있고, 꼭 해야한다. model.train() # 트레이닝모드 model.eval() # 검증모드 model.eval()의 경우 validation과 test 단계에 꼭 선언해야한다. 그럼 개념적으로 정리를 해보자. 데이터가 총 1000개가 있다면, train 6000개, validation 2000개, test 2000개로 나누어 준다. train 단계는 말 그대로 모델을 학습시키는 단계이다. 그 말은 즉 validation과 test 단계에서..
-
[PyTorch] How to run pytorch using conda by linking vscode and jupyter notebook on OSX(mac).AI 2020. 4. 17. 14:26
pytorch로 deeplearning 예제를 로컬(osx)에서 실습해보려고 한다. 에디터는 pycharm을 많이 쓰는거 같던데, 나의 경우 항상 쓰던 vscode를 사용하고자 한다. 예제 소스는 .ipynb 파일로 되어있어서, .py 파일로 변형하지 않고 사용하기 위해 jupyter notebook을 사용하려 한다. 자 그럼 이제 개발 환경을 구축해보자. 1. Install python 3.x 링크 기본적으로 python 3.x를 설치해준다. (설치 과정은 생략..) 2. Install vscode & extensions. VSCODE 그리고 확장 프로그램을 설치한다. 설치가 완료되면 vscode를 재시작 해준다. 3. Install jupyter $ pip3 install --upgrade pip $..
-
CNN - pytorch convnet에서 zero padding 값 구하는 공식AI 2020. 4. 16. 17:22
input이 7x7, 필터가 3x3인 경우 zero padding 값을 몇으로 해야 7x7의 결과를 얻을 수 있을까? stride가 1인 경우 필터 크기를 2로 나눈 몫이 zero padding 개수가 된다. 그렇다면 stride가 2이거나 그 이상인 경우는 어떻게 계산해야 할까? 내 나름대로 식을 한번 구해봤다. input 크기: I(대문자 i) ex) 7x7 -> 7 필터 크기: F stride: S 원파는 output 크기: O padding: P 공식: P = ( OS - I + F - 1 ) / 2 공식에 대입을 해보면, P = ( 7*2 - 7 + 3 -1 ) / 2 = 9 / 2 = 4(몫) 확인을 해보자. 행만 확인해보면 7번의 스탭이 나오는걸 확인 할 수 있다.(열도 같음) 그렇게해서 우..