InvalidArgumentError при внедрении Keras; работает в Python3.6 в Windows, а не в Mac

У меня есть CNN, который я создал с помощью встраивания символов на моем компьютере с Windows 10 с использованием python 3.6 и keras 2.2.0. Я установил ту же версию на свой Mac, и независимо от того, использую ли я python 2.7 или 3.6, я получаю ошибку встраивания.

В моем слое встраивания используется входной размер 101, который является размером моей матрицы весов; Я также использую нулевую маскировку. В окнах все работает отлично, но на моем Mac, когда доходит до символа с индексом 101, я получаю следующую ошибку:

InvalidArgumentError: indices[26,6] = 101 is not in [0, 101)

Есть идеи, что происходит, и что я могу с этим поделать?

подробнее: вот информация о матрице весов и о том, как я ее использую

weights.shape = (101,101)
inputs=L.Input(shape=(length,))                                 `
embedding=L.Embedding(input_dim=weights.shape[0],
                      output_dim=weights.shape[1],
                      input_length=length,
                      weights=[weights],
                      mask_zero=True,trainable=False)(inputs)

Ошибка:

InvalidArgumentError: indices[31,60] = 101 is not in [0, 101)

[[Node: embedding_2/embedding_lookup = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32, Tparams=DT_FLOAT, _device = "/job:localhost/replica:0/task:0/device:CPU:0"](embedding_2/embeddings/read, embedding_2/Cast, embedding_2/embedding_lookup/axis)]]

Вы используете графический процессор в Windows? Если я правильно помню, индексирование вне диапазона не вызывает ошибки с TF-gpu.

Yu-Yang 10.08.2018 08:31

Почему да, я. Думаю, мне следует воздержаться от файла с весами, который на один больше. Просто отстой, потому что я потратил много времени на получение того, что у меня в руках. :-(

AstroBen 10.08.2018 12:03
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
2
362
0

Другие вопросы по теме