pytorch
-
How to convert pt to tflite (yolov5 to tensorflow lite) tflite로 변환AI 2021. 1. 19. 16:18
업데이트: 이걸로 해결 github.com/zldrobit/yolov5/blob/tf-android/models/tf.py $ python models/tf.py --weights weights/best.pt --cfg models/yolov5s.yaml --img-size 320 yolov5로 학습된 모델을 1차적으로 Android에서 사용하고자 한다. 그럴러면 최종적으로 .pt 파일을 .tflite로 변환해야한다. 그게 한번에 되냐? 아쉽게도 pt -> onnx -> pb -> tflite 순으로 변환해야한다. 명령어 하나로 되었다면 얼마나 좋았을까.. 그래서 그 과정에서 꽤 많은 삽질을 하게 되었다. 잠깐 언급하자면 tensorflow 버전과 onnx 버전의 호환성.. 버전업되면서 바뀐것도 많고 알..
-
[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번의 스탭이 나오는걸 확인 할 수 있다.(열도 같음) 그렇게해서 우..