2017-05-25 2 views
0

hereのMNIST CNNチュートリアルを使用して、TF 1.1.0を使用してVGGnetを実装しようとしています。私が受けていますエラーメッセージは次のとおりです。Tensorflowバージョン '' 1.1.0 'SKCompat AttributeError

AttributeError: 'SKCompat' object has no attribute 'evaluate' 

私のコードのこの部分ははAttributeErrorをスロー:

#create estimator 
vggnet_classifier = learn.SKCompat(learn.Estimator(model_fn=vggnet_model, model_dir= "/tmp/vgg_net")) 

# Set up logging for predictions 
tensors_to_log = {"probabilities": "softmax_tensor"} 
logging_hook = tf.train.LoggingTensorHook(tensors=tensors_to_log, every_n_iter=100) 

#train model 
vggnet_classifier.fit(
    x=X_train, 
    y=y_train, 
    batch_size=100, 
    steps=2, 
    monitors=[logging_hook]) 

# Configure the accuracy metric for evaluation 
metrics = { 
    "accuracy": 
     learn.MetricSpec(metric_fn=tf.metrics.accuracy, prediction_key="classes"),} 

# Evaluate the model and print results 
eval_results = vggnet_classifier.evaluate(x=X_val, y=y_val, metrics=metrics) 
print(eval_results) 

私はもともと起因する非推奨の警告にlearn.Estimator周りラッパーを追加しましたが、私は」することができますラップされた推定量を使用してモデルを評価する方法に関する情報を見つけたようです。

答えて

0

私は宣言するのを忘れ:

loss = None 
train_op = None 

エラーの発生源であるように思わ私のvggnet_model機能、で。 learn.SKcompat()を削除すると警告がスローされますが、モデルは正常に動作しています。

1

今や優雅な解決策があるのだろうかと思います。 OPが指摘したように、SKCompat()ラッパーを使用すると警告が回避され、将来行われることになります。一方、evaluate()関数はそのように壊れます。

関連する問題