저수준 API로 작성된 MNIST 코드에서 사용하는 tf.argmax 함수에 대해 살펴봅니다. 2018. 8.29 최초작성 2020. 8. 1 내용 확인 및 Tensorflow 2.x에 맞게 수정 tf.argmax 두번째 인자값의 범위는 [-rank(input), rank(input))로 한정되어 있습니다. 텐서플로우에서 rank는 텐서의 원소 하나에 접근하기 위해 필요한 인덱스의 개수입니다. 1차원 배열의 경우 최대 인덱스 개수는 1(=rank가 1 ) 이기 때문에 두번째 인자로 0만 사용할 수 있습니다.(음의 범위는 논외로 합니다. ) 한 방향으로 (1차원의 경우 열,행 구분이 없습니다.) 최대값을 찾아 인덱스 값을 찾을 수 있습니다. import tensorflow as tf a = tf.const..
저수준 API로 작성된 MNIST 코드에서 사용하는 tf.reduce_mean 함수에 대해 살펴봅니다 import tensorflow as tf x = tf.constant([[1., 3.], [2., 6.]]) sess = tf.Session() print(sess.run(x)) print(sess.run(tf.reduce_mean(x))) print(sess.run(tf.reduce_mean(x, 0))) print(sess.run(tf.reduce_mean(x, 1))) sess.close() [[1. 3.] [2. 6.]]3.0[1.5 4.5][2. 4.] tf.reduce_mean(x)처럼 두번째 인자를 적지 않은 경우 변수 x가 가리키는 배열 전체 원소의 합을 원소 개수로 나누어 계산합니다. ..
MNIST에 포함되어 있는 손글씨 이미지와 이미지가 의미한 숫자를 기록해 놓은 라벨을 출력해보는 방법을 설명합니다. 예전에 보았던 텐서플로우 초보자 가이드(?)에선 28 X 28 사이즈의 이미지를 크기 784(=28x28)인 일차원 배열로 변환한 MNIST 데이터를 가져오는 것으로 시작했었습니다. 지금은 keras 모듈을 사용하여 가져올 수 있어서 MNIST 데이터의 구조가 좀 달라진듯합니다. 문서 상으로 언급되는 MNIST 데이터 구조를 봐서는 이해가 잘안되서.. 위에서 언급한 두 가지 방법으로 MNIST 데이터를 가져와서 화면에 출력해보았습니다. 우선 예전에 사용했던 방법으로 tensorflow.examples.tutorials.mnist를 사용하여 작성된 코드입니다. import numpy as n..