【发布时间】:2021-02-02 00:22:08
【问题描述】:
我正在尝试使用 save 来预测看不见的文本数据。但是我收到有关嵌入查找的错误。 我不知道如何解决它。类似的错误与词汇量有关。但是,由于我不是在训练模型,所以我的情况有所不同。 这是代码sn-p
processed_train_sequences = pad_sequences(processed_train_sequences, maxlen=38, padding='post')
print("processed train sequence",processed_train_sequences)
saved_model = load_model('TrainModel9.h5', compile = True)
pred_prob = saved_model.predict(processed_train_sequences)
print(pred_prob)
这是完整的回溯。
File "PSOforDA_withoutparallelprocessing.py", line 212, in <module>
cost, pos = optimizer.optimize(f, iters=1) # returns a tuple of the local best cost and the local best position among the swarm.
File "/home/kosimadukwe/.local/lib/python3.8/site-packages/pyswarms/discrete/binary.py", line 176, in optimize
self.swarm.current_cost = compute_objective_function(
File "/home/kosimadukwe/.local/lib/python3.8/site-packages/pyswarms/backend/operators.py", line 239, in compute_objective_function
return objective_func(swarm.position, **kwargs)
File "PSOforDA_withoutparallelprocessing.py", line 127, in f
j = [f_per_particle(x[i], alpha,sent) for i in range(n_particles)]
File "PSOforDA_withoutparallelprocessing.py", line 127, in <listcomp>
j = [f_per_particle(x[i], alpha,sent) for i in range(n_particles)]
File "PSOforDA_withoutparallelprocessing.py", line 104, in f_per_particle
pred_prob = saved_model.predict(processed_train_sequences)
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py", line 88, in _method_wrapper
return method(self, *args, **kwargs)
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py", line 1268, in predict
tmp_batch_outputs = predict_function(iterator)
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py", line 580, in __call__
result = self._call(*args, **kwds)
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py", line 650, in _call
return self._concrete_stateful_fn._filtered_call(canon_args, canon_kwds) # pylint: disable=protected-access
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 1661, in _filtered_call
return self._call_flat(
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 1745, in _call_flat
return self._build_call_outputs(self._inference_function.call(
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 593, in call
outputs = execute.execute(
File "/usr/pkg/lib/python3.8/site-packages/tensorflow/python/eager/execute.py", line 59, in quick_execute
tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
(0) Invalid argument: indices[0,9] = 14914 is not in [0, 14480)
[[node sequential_9/embedding_9/embedding_lookup (defined at PSOforDA_withoutparallelprocessing.py:104) ]]
[[sequential_9/embedding_9/embedding_lookup/_6]]
(1) Invalid argument: indices[0,9] = 14914 is not in [0, 14480)
[[node sequential_9/embedding_9/embedding_lookup (defined at PSOforDA_withoutparallelprocessing.py:104) ]]
0 successful operations.
0 derived errors ignored. [Op:__inference_predict_function_2294]
Errors may have originated from an input operation.
Input Source operations connected to node sequential_9/embedding_9/embedding_lookup:
sequential_9/embedding_9/embedding_lookup/1381 (defined at /usr/pkg/lib/python3.8/contextlib.py:113)
Input Source operations connected to node sequential_9/embedding_9/embedding_lookup:
sequential_9/embedding_9/embedding_lookup/1381 (defined at /usr/pkg/lib/python3.8/contextlib.py:113)
Function call stack:
predict_function -> predict_function
运行一些测试后,我认为当您尝试预测的单词之一不在嵌入中时会出现此错误? 我如何将零分配给那些? 或者我如何使用 try-except 块捕获错误?
【问题讨论】:
标签: python-3.x tensorflow keras text-classification