Machine Learning/TensorFlow
[TensorFlow] estimator
[TensorFlow] estimator
2017.11.15https://www.tensorflow.org/api_docs/python/tf/estimator/DNNClassifier https://github.com/umbum/ML/blob/master/TF/estimator.py 고수준 API. 인자 몇개만 지정해서 넘겨주면 알아서 신경망을 구성해준다.근데 고수준이라 역시... `` DNNClassifier`` 같은 경우 모든 hidden_units가 전결합 레이어다... 유연성이 없다는게 단점. 내부적으로 웬만한 최적화가 잘 되어 있는 것 같아 직접 구현해야 하는 경우가 아니면 대체로 이걸 사용하는게 여러가지로 이점이 있을 듯.tflogs는 알아서 `` model_dir``에 저장되며 필요한 변수는 다 `` summary``로 등록되어 있어서 보기도 편하다..
[TensorFlow] Datasets API
[TensorFlow] Datasets API
2017.11.14자세한 설명은 가이드 참조. Dataset API를 사용하면 input pipelines / Threading and Queue 과정을 손쉽게 처리할 수 있다. ( 1.4부터 `` contrib``에서 코어로 옮겨졌다. ) `` dataset``은 `` element``들로 이루어져 있으며 `` element``는 `` tf.Tensor``들로 이루어져 있다.`` element1`` - image1 - label1`` element2`` - image2 - label2... Basic mechanics```python>>> sess.run(tf.random_uniform([2, 4])) array([[ 0.77109301, 0.34201586, 0.0554806 , 0.96262276], [ 0.9934..
[TensorFlow] TensorBoard
[TensorFlow] TensorBoard
2017.04.23summaries_and_tensorboard ```bash$ tensorboard --logdir=./tflogs/log-171113-1335 --port 8080``` 크게 다음 세가지 시각화를 지원한다.Visualizing learningGraph visualizationEmbedding visualization Visualizing learning1. 시각화하고 싶은 노드를 summary operations의 인자로 넘기면 그래프에 summary operation이 추가된다.아래의 경우 노드 logits에 tf.summary.histogram ops를 붙인다고 생각하면 된다.```pylogits_hist = tf.summary.histogram('logits(output neuron)', logi..
[TensorFlow] <lagacy> input pipelines / Threading and Queue
[TensorFlow] <lagacy> input pipelines / Threading and Queue
2017.04.22input pipeline (guide)TensorFlow에서 파일을 읽어들이는 효과적인 방법은 input pipeline을 구성하는 것이다.input pipeline은 다음과 같은 단계로 구성된다.```python# step 1fnames = glob.glob("../sctf_asm/imgs/*") # step 2 : FIFO queue를 생성하고 filename을 담는다.# shuffling, epoch limit도 이 메소드가 지원한다.fname_queue = tf.train.string_input_producer(fnames) # step 3 : file format에 알맞는 FileReader 설정reader = tf.WholeFileReader()fname, content = reader.re..
[TensorFlow] CNN
[TensorFlow] CNN
2017.04.22CNN다음과 같이 그래프를 미리 빌드해 놓은 다음,신경망에 통과시킬 input image를 실행 시점에 ``py sess.run( , feed_dict={})``를 통해 넘긴다.```python# 구식 방법W1 = tf.Variable(tf.random_normal([3, 3, 1, 32], stddev=0.01)) #H, W, C, FNb1 = tf.Variable(tf.zeros([32])) L1 = tf.nn.conv2d(X_img, W1, strides=[1, 1, 1, 1], padding="SAME")L1 = tf.nn.relu(L1+b1)L1 = tf.nn.max_pool(L1, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding="SAME")L1 = t..
[TensorFlow] 자료형과 기본적인 사용법
[TensorFlow] 자료형과 기본적인 사용법
2017.04.20https://www.tensorflow.org/programmers_guide/graphs#building_a_tfgraph 텐서플로우는 dataflow-graph를 구성하고, graph의 일부를 Session으로 구성해 실행시키는 방식이다.Note ) 단순히 TensorFlow API를 호출하는 것 만으로도 tf.Graph에 tf.Operation(Node)와 tf.Tensor(Edge)가 추가된다.따라서 노드가 추가될 graph를 명시할 수 있는데, 명시하지 않는 경우 default graph에 추가된다.다른 graph에 노드를 추가하려면 ``py graph.as_default()``를 사용한다. * ``py with``가 끝나면 다시 default context다.```python>>> impor..