2017-03-27 1 views
0

다음 교차 엔트로피 기능이 있습니다.matplotlib에 그래프를 플롯하기 위해 배열에 값을 저장하는 방법은 무엇입니까?

cross_entropy = -tf.reduce_sum(y_*tf.log(y_conv)) 
for i in range(max_training_step): 
    batch = next_batch(i) 
    if i % FLAGS.beta_resolution == 0: 
     train_accuracy = accuracy.eval(feed_dict={x: batch[0], y_: batch[1], keep_prob: 1.0}) 
     print("step %d, training accuracy %g" % (i, train_accuracy)) 

모든 교육 단계 후에 인쇄하고 싶습니다. 그리고 matplotlib을 사용하여 그래프 b/w 트레이닝 단계와 엔트로피를 그려 봅니다.

어떻게하면됩니까? (그래프 플로팅에 tensorflow를 사용하고 싶지 않습니다.)

답변

0

세션을 실행할 때 (예 : res=sess.run(...)) 호출하면 교차 엔트로피 변수를 가져올 수 있습니다.

```

: 예를 들어

,의는 다음과 같습니다 코드를 가질 수 십자가 엔트로피에 당신은 또한 원하는 몇 가지 예측하지만를 얻을 수() 호출 복잡한 sess.run가 있다고 가정 해 보자

feeds={x_data:x,y_data:y} 
fetches=[y_result,cross_entropy] 
res=sess.run(fetches=fetches, feed_dict=feeds) 
predictions=res[0] #your first fetch parameter 
xent=res[1] #Your second fetch parameter. 

``` 실행 호출 내에서 가져 오기를 사용하면 그래프에서 텐서를 가져올 수 있습니다.

+0

훈련 단계와 크로스 엔트로피를 빈 배열로 정의한 다음 append 명령을 사용하여 for 루프에 값을 저장하면이 – eman

+0

과 같이 tensorflow를 사용하지 않고 수행 할 수 있습니까? 그리고 matplotlib을 사용하여 two.Can 사이의 그래프를 그릴 수 있습니다. 텐서 흐름 코드로 작동 할 수 있습니까? – eman

+0

tensorflow가 cross entropy를 생성하기 때문에 어떤 시점에서는 tensorflow를 사용해야하지만, for 루프에서 매번 실행될 cross entropy를 가져 오는 경우 yes를 추가하거나 matplotlib 또는 기타와 함께 사용할 수 있습니다. 위 예제에서 res [1] 인 크로스 엔트로피 (xent)는 다른 파이썬 변수와 마찬가지로 배열이나 xent 값이됩니다. – JCooke

관련 문제