2

Tensorflowのtf.estimator.DNNClassifier.evaluate関数を使用してネットワークを評価しています。私はhereにあるTensorflowのIrisデータを使用しています。さらなる調査と数学では、評価セットのサイズに関係なく、128の例が評価されると判断しました。完全な検証の例でTensorflowモデルを評価する方法

たとえば、iris_training.csvにはわずか120の例があり、128が評価されます(おそらく8は2回評価されます)。私は1kの例でいくつかのバリデーションセットを持っていますが、この場合でも128の例だけが評価されます。

合計損失を平均損失で割って、評価した例の数を得ることによってこれを計算しました。私はこれを任意に変えることができたいと思っています。特に大きなバリデーションセットを扱う場合は特にそうです。これはどのように達成できますか?

評価関数のsteps引数= 1,210,120などで試してみましたが、結果は同じで128の例が評価され、steps = Noneは返されない関数になりました。

hereにあるAPIを精査した後であっても、この128の指標がどこに由来しているのか分かりません。私もhereにある同様のtf.contrib.learn.DNNClassifierの見積もりを使用しましたが、APIはその関数が廃止され、削除されると述べています。そのため、最適なオプションではないと考えました。

私は、steps引数は別のSOページを見つけた後に探しているものではないと仮定していますhere

Tensorflowを使用して任意の数の検証例を評価するにはどうすればよいですか?

答えて

2

128の評価メトリックは、私のサンプルの入力機能を作成するために使用していたtf.estimator.inputs.numpy_input_fn関数から来ています。このファンクションのAPIは、hereは、batch_sizeの別の引数が指定されていない場合、デフォルトの引数に128を指定します。 batch_size引数に評価するサンプル数を指定すると、上記の問題が修正されます。

関連する問題