NotImplementedError: <класс 'cleverhans.model.CallableModelWrapper'>должен реализовывать `get_logits` или должен определять вывод logits в`fprop`

Когда я пытаюсь запустить с github.com/behzadanksu/rl-attack

python train.py --env Breakout --noisy --save-dir./data/Breakout/ --attack fgsm --num-steps 20 --attack-prob 1.0

из библиотеки cleverhans я получаю следующую ошибку. Как я могу избежать этого?

NotImplementedError: необходимо реализовать get_logits или должен определить вывод logits в fprop

1 ответ

Без исходного фрагмента кода, который вызвал ошибку, я предполагаю, что вы используете модель, определенную в платформе, которая изначально не является CleverHans, и вы попытались включить ее в модель CleverHans (это поможет прояснить ваш вопрос), если вы можете опубликовать фрагмент кода, определяющий вашу модель). Если это так, то ошибка, которую вы видите, означает, что класс модели, в который вы обернули исходную модель, не имеет метода get_logits или же fprop это правильно реализовано. Вам либо нужно иметь get_logits метод, который принимает входной тензор и возвращает выходной тензор модели, или fprop метод, который принимает входной тензор и заполняет словарь ключами, установленными для имен слоев, а значения для тензора активации каждого слоя. Один из ключей этого словаря должен быть logits или же probs, Вы можете найти больше рекомендаций в model.py файл библиотеки: https://github.com/tensorflow/cleverhans/blob/master/cleverhans/model.py

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