日々精進

新しく学んだことを書き留めていきます

tf.estimator.Estimatorのevaluateを呼ぶと「Fatal Python error: Segmentation fault」エラー

TensorFlowのバージョンは1.15.0。 原因はevaluateメソッドのinput_fnに精度検証のinputを返す関数を渡していたが、その関数がNoneから空配列的なものを返していたため。 今回はtf.data.TFRecordDatasetに検証用データを渡してそのeval_input_fnを以下のように渡していたがtf.data.TFRecordDatasetが保持しているデータが0件だったのでエラーになった。

estimator.evaluate(input_fn=dataset.eval_input_fn)

データをdatasetに渡すようにすると直った。