使用预训练模型VGG19+Tensorflow进行神经风格迁移报错(已解决)

tensorflow版本

# 设置梯度下降过程
# 获取损失相对于生成图像的梯度
grads = K.gradients(loss, combination_image)[0]

报这个错误:RuntimeError: tf.gradients is not supported when eager execution is enabled. Use tf.GradientTape instead.

在程序开头加上这两行代码

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
若报gpu内存溢出的话:Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.57GiB with freed_by_count=0. The caller indicates that this is not a failure,……
可以试着把img_height = 400调小一点
若还是报错的话,试一下在程序的第一行加上这几行代码:
import tensorflow as tf
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
gpu_options = tf.compat.v1.GPUOptions(per_process_gpu_memory_fraction=0.3)
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(gpu_options=gpu_options))

 或者这几行代码

from tensorflow.python.client.session import InteractiveSession
from tensorflow.python.framework.config import list_physical_devices, set_memory_growth

config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
physical_devices = list_physical_devices('GPU')
set_memory_growth(physical_devices[0], True)

使用预训练模型VGG19+Tensorflow进行神经风格迁移报错(已解决)_第1张图片使用预训练模型VGG19+Tensorflow进行神经风格迁移报错(已解决)_第2张图片 

结果: 

使用预训练模型VGG19+Tensorflow进行神经风格迁移报错(已解决)_第3张图片 

你可能感兴趣的:(深度学习,python,深度学习,迁移学习)