Como converter Tensor em ndarray (tensor com imagens contraditórias dentro)

NOTA: Eu já tentei soluções de diferentes questões de SO sem sucesso, seguem os detalhes.

Estou estudandocleverhans Tutoriais de Pyhton, com foco emesta código (caso do modelo keras). Eu tenho um conhecimento básico de keras, mas acabei de começar com o Tensorflow (total novato).

Estou tentando visualizar as imagens adversas geradas neste trecho de código (citação do linkcleverhans fontes):

# Initialize the Fast Gradient Sign Method (FGSM) attack object and graph
fgsm = FastGradientMethod(wrap, sess=sess)
fgsm_params = {'eps': 0.3,
               'clip_min': 0.,
               'clip_max': 1.}
adv_x = fgsm.generate(x, **fgsm_params)
# Consider the attack to be constant
adv_x = tf.stop_gradient(adv_x)
preds_adv = model(adv_x)

Pelo que entendi,adv_x deve conter as imagens contraditórias geradas e tentei converter o tensor emndarray a fim de visualizá-lo atravésmatplot. Eu tentei o seguinte antes e depoismodel(adv_x):

1) adv_x.eval()
2) adv_x.eval(sess)
3) sess.run(adv_x) 
4) ..and minor changes

Nada está funcionando como esperado, recebo vários erros:

ValueError: Cannot evaluate tensor using `eval()`: No default session is registered. Use `with sess.as_default()` or pass an explicit session to `eval(session=sess)`

e

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [?,28,28,1]
 [[Node: Placeholder = Placeholder[dtype=DT_FLOAT, shape=[?,28,28,1], _device="/job:localhost/replica:0/task:0/device:GPU:0"]()]]

e

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder' with dtype float and shape [?,28,28,1]
     [[Node: Placeholder = Placeholder[dtype=DT_FLOAT, shape=[?,28,28,1], _device="/job:localhost/replica:0/task:0/device:GPU:0"]()]]
     [[Node: strided_slice/_115 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_152_strided_slice", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

também tenteiwith sess.as_default(): sem sucesso.

Tipo deadv_x é<class 'tensorflow.python.framework.ops.Tensor'>, sua forma éTensorShape([Dimension(None), Dimension(28), Dimension(28), Dimension(1)]). Escrevendo adv_x no console de depuração, obtenho:<tf.Tensor 'StopGradient_4:0' shape=(?, 28, 28, 1) dtype=float32>

Eu também tentei trabalhar em uma fatia do tensoradv_x[0], sem sucesso.

Estou um pouco perdido e acho que sinto falta de algo básico do TensorFlow, ou entendi mal o tutorial (adv_x é preenchido com dados de maneira eficaz?).

Como faço para converteradv_x parandarray tipo? Qualquer dica é apreciada

Saudações

questionAnswers(1)

yourAnswerToTheQuestion