AI
-
[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번의 스탭이 나오는걸 확인 할 수 있다.(열도 같음) 그렇게해서 우..
-
[tensorflow] How to use contrib.eager.metrics on tensorflow 2.x versionAI 2020. 3. 25. 19:32
# version 1.x from tensorflow import contrib tfe = contrib.eager epoch_loss_avg = tfe.metrics.Mean() epoch_accuracy = tfe.metrics.Accuracy() to # version 2.x epoch_loss_avg = tf.keras.metrics.Mean() epoch_accuracy = tf.keras.metrics.Accuracy()
-
[tensorflow] How to use tf.contrib.data.make_csv_dataset() on tensorflow 2.xAI 2020. 3. 25. 18:50
tensorflow를 2.1로 업그레이드 하면서 많은 함수의 변화가 생겼다. 그중 하나를 소개하고자 한다. 아래는 csv파일의 데이터를 가져오는 함수로 많이 사용된다. # tensorflow 1.4 tf.contrib.data.make_csv_dataset() to # tensorflow 2.1 tf.data.experimental.make_csv_dataset()
-
[tensorflow] How to use tf.losses.sparse_softmax_cross_entropy() on tensorflow 2.xAI 2020. 3. 25. 18:44
tensorflow 1.4에서 예제를 실습하다. 버전을 2.1로 업데이트 했다. 그러고 나니 실습중이던 예제에 에러가 생기기 시작했다.. 아래 코드는 y값과 pred값의 loss를 구하는 함수이다. tf.losses.sparse_softmax_cross_entropy(labels=y, logits=y_) tensorflow 2.x 에서는 위의 함수를 사용할 수 없다. 그래서 대체 함수를 찾아야했다. 함수를 찾기전 다양한 문제들로 돌아돌아돌아.. 저 함수의 문제라는걸 판단할 수 있었다. 이제 아래 함수를 사용하면 된다. 참조 cce = tf.keras.losses.SparseCategoricalCrossentropy() cce(y, y_)
-
[tensorflow] What argmax means?(axis) ?AI 2020. 3. 25. 10:31
텐서플로우 예제를 실습 하던 도중 아래와 같은 코드를 접했다. epoch_accuracy(tf.argmax(model(x), axis=1, output_type=tf.int32), y) epoch_accuracy는 매트릭스를 이용해 정확도를 측정하는 함수이다. 참조 이 함수는 1차원 배열 형태인 2개의 파라미터를 받으며, 예측된 값과 y값을 넘겨주면 된다. 만약 label이 3개인 경우 [1, 0, 0, 1, 1, 2] 이런 형태가 될 것이다. y값은 그냥 넘겨주면 된다. 예측값은 다차원의 배열이기 때문에 argmax를 사용해 1차원의 배열로 만드는 동시에 최대값만 남긴다. argmax에서 2번째 인자로 axis(중심축)를 받는데 이 매개변수가 주요 포인트이다.(헷갈릴 수 있다.) 2차원 배열의 경우 r..