これは私が受け取った警告です:
警告:tensorflow:multiprocessingはTensorFlowと不適切に相互作用し、非決定的なデッドロックを引き起こす可能性があります。高性能データパイプラインの場合、tf.dataをお勧めします。
私が作成したSequenceサブクラスは、読み込みとI/O jpgファイルの読み取りを厳密に実行します。 2つのスレッドが同じファイルに対して同時に実行しない限り、問題はないはずです。
私はいくつかのエポックについて訓練しましたが、これまでのところエラーはありません。しかし、起こり得る潜在的に悪い何かがある場合は、フィードバックを得たいと思います。
最初はTensorFlow 2.0
バージョンで、keras.utils.Sequence
に問題があり、multiprocessing=True
でデッドロックが原因でハングが発生していました。後でTensorflow 2.1
でこの警告が追加され、この懸念に対処しました。
# use_multiprocessing=False works.
# use_multiprocessing=True hangs in a deadlock situation.
model.fit_generator(generator, use_multiprocessing=True, workers=2)
デッドロック状態を引き起こす処理を行っていないので、この警告は無視できます。