Как применить оптимизацию к изображению в tensorflow, чтобы вывод нейросети был высоким?
Есть нейросеть на keras, у нее есть 1 вывод softmax (стандартная модель собака или кошка)
хочу применить оптимизацию на изображение кошки так, чтобы модель думала что это собака
на pytorch такое легко сделать, а как это сделать на tensorflow?
на pytorch выглядит это так:
import torch
from torchvision import transforms
from PIL import Image
img = Image.open("cat.jpg").resize((100,100))
to_tensor = transforms.ToTensor()
img = to_tensor(img)
img.requires_grad = True
print(img.shape)
nn = torch.load("catvdog.pth") #replace to real model
y = torch.tensor([1.0])
optim = torch.optim.Adam([img])
loss = torch.nn.MSELoss()
#tensorflow analog?
for i in range(100):
losses = loss(nn(img),y)
losses.backward()
optim.step()
optim.zero_grad()
print(losses.data)
...
ссылка на файлы
ссылка на collab