Ошибка обратного вызова Keras из-за разрешения папок - PullRequest
1 голос
/ 28 апреля 2020

У меня есть модель 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]

Я распечатал разрешение для обеих папок и похоже, что они иметь такое же разрешение! enter image description here

Отредактировано (1):

Каталог, вызвавший ошибку, был передан моему пользователю linux с помощью программы WinSCP из другой windows аппарат, в то время как другой (tmp) был создан локально в linux.

Отредактировано (2):

Я удалил каталог, который вызвал ошибку и создал ее локально, и ошибка исчезла !. Я совершенно уверен, что ошибка связана с правами доступа к каталогам, но я не знаю, что было источником.

...