コールバックを持つ keras モデルがありModelCheckpoint
ます。
コールバックのパスをtmp
フォルダーに設定すると完全に機能しますが、呼び出した別のフォルダーに設定するとkaggle
エラーが発生します。
エラーは非常に長く、これが最後の部分です。
21/22 [===========================>..] - ETA: 0s - loss: 0.7804 - acc: 0.50482020-04-28 17:36:20.771950: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Invalid argument: indices[5,12] = 11086 is not in [0, 11086)
[[{{node embedding/embedding_lookup}}]]
2020-04-28 17:36:20.778527: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Invalid argument: indices[5,12] = 11086 is not in [0, 11086)
[[{{node embedding/embedding_lookup}}]]
[[dense_1_target/_2]]
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/DIRECTORY2/train.py", line 76, in <module>
Train(args)
File "/DIRECTORY2/train.py", line 28, in __init__
Train.train(params.read(configs))
File "/DIRECTORY2/train.py", line 69, in train
verbose = 1)
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 1433, in fit_generator
steps_name='steps_per_epoch')
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_generator.py", line 264, in model_iteration
batch_outs = batch_function(*batch_data)
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 1175, in train_on_batch
outputs = self.train_function(ins) # pylint: disable=not-callable
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/keras/backend.py", line 3443, in __call__
outputs = self._graph_fn(*converted_inputs)
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 561, in __call__
return self._call_flat(args)
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 660, in _call_flat
outputs = self._inference_function.call(ctx, args)
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 434, in call
ctx=ctx)
File "/DIRECTORY/lib/python3.6/site-packages/tensorflow/python/eager/execute.py", line 67, in quick_execute
six.raise_from(core._status_to_exception(e.code, message), None)
File "<string>", line 3, in raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[5,12] = 11086 is not in [0, 11086)
[[{{node embedding/embedding_lookup}}]] [Op:__inference_keras_scratch_graph_3082]
両方のフォルダーのアクセス許可を印刷しましたが、同じアクセス許可を持っているようです!
編集済み (1):
エラーの原因となったディレクトリは、別の Windows マシンから WinSCP プログラムを使用して Linux ユーザーに転送されましたが、もう 1 つのディレクトリ ( tmp
) は Linux でローカルに作成されました。
編集済み (2):
エラーの原因となったディレクトリを削除し、同じものをローカルに作成したところ、エラーは消えました!. エラーがディレクトリのアクセス許可によるものであることは確かですが、ソースが何であるかはわかりません。