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