سلام
من برای حمله adversarial میخوام به جای کل تصویر یک mask از تصویر رو تغییر بدم تا خروجی تغییر کنه ولی نمی دونم چجوری باید کد رو تغییر بدم تا فقط یک قسمت از تصویر رو آپدیت کنه
اگر به جای var_list=[x_hat] یک slice از x_hat رو قرار بدم قبول نمیکنه میگه باید variable باشه
اگه variable اش کنم دوباره یک جا دیگه ارور بوجود میاد
راه درستش چیه؟ :(
اینم کدی هست که دارم:
img=tf.Variable(tf.zeros((1,64,64,3)))
x = tf.placeholder(tf.float32, (1,64, 64, 3))
x_hat = img # our trainable adversarial input
assign_op = tf.assign(x_hat, x)
optimization_step = tf.train.GradientDescentOptimizer(
learning_rate).minimize(loss, var_list=[x_hat])
for i in range(10000):
# gradient descent step
_, loss_value = sess.run(
[optimization_step,loss],
feed_dict={x:np.asarray(image)[None,:,:,:]})
sess.run(project_step, feed_dict={x:np.asarray(image)[None,:,:,:], epsilon: 25})
if (i+1) % 100 == 0:
print('step %d , loss = %g' % (i+1, loss_value))