1.准备工作
系统:Win10,Python3.6,tensorflow2.1,CUDA10.1,cudnn7.6,
并保证N卡更新到较新驱动,本人显卡GTX 1660Ti,驱动版本440+
CUDA下载
CUDA Toolkit Archivedeveloper.nvidia.comcudnn下载(可能要注册账号,本人直接是google账号登陆)
https://developer.nvidia.com/rdp/cudnn-downloaddeveloper.nvidia.com2.CUDA和cudnn配置
双击下载好的CUDA点击开始安装(安装过程可以选择自定义安装,此时可以将显卡驱动选项撤销不安装,因为之前已经安装过最新显卡驱动)。
CUDA装好后在C:Program FilesNVIDIA GPU Computing ToolkitCUDA文件内有相应版本文件v10.1
解压cudnn后将文件夹内的三个文件
bincudnn64_7.dll
includecudnn.h
libx64cudnn.lib
复制到C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1的相同路径覆盖
3.程序目录结构
![c3753f9507fec3079a2a35d97d263f72.png](https://i-blog.csdnimg.cn/blog_migrate/20c9e27aca656865070f3c1c8ebf93cf.png)
result文件存放生成后的图片,content.jpg为原图,style开头的jpg都是艺术图片,是需要程序来提取特征并与原图结合计算的.
image_mix.py为源码文件.
在运行第一次时候可能会下载vgg19的模型文件,此时可能会报错ssl问题.此时和只需要添加
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
即可解决
如果发生This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above错误只需添加
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
即可解决。
最后上本人跑完程序的几张效果图
原图:
![7b36794561bf800c718c8e7716f7dee4.png](https://i-blog.csdnimg.cn/blog_migrate/53252425aedbaebc1c1ae9a56422ae2d.jpeg)
样式1:
![10947ff8ec01bae3694bbdc9f12d8330.png](https://i-blog.csdnimg.cn/blog_migrate/302f2fd81d3d165cb3eb1f3413af565a.jpeg)
样式2:
![79c34f8f60e422265d728700408079dc.png](https://i-blog.csdnimg.cn/blog_migrate/9ebf8a0945efa50587457819122e744d.jpeg)
样式3:
![073353222369f0b3f77fa725d51102c7.png](https://i-blog.csdnimg.cn/blog_migrate/6b0c7255ce22371b4c131358022dc9ac.jpeg)
效果图:
![4d6d0332bcd090484edc27a03520849a.png](https://i-blog.csdnimg.cn/blog_migrate/f7d7b89ce2a0a0d1e4476b445d290293.jpeg)
![1d4bf902f21b41627488a023e66f9992.png](https://i-blog.csdnimg.cn/blog_migrate/4a553582d84dc4e7ce0e6a9d6e2d5470.jpeg)
![1044c83dc7ec8baab59ea88da6080c73.png](https://i-blog.csdnimg.cn/blog_migrate/548755ee8227045619e89094893a676c.jpeg)
最后一张效果不是很理想,可能是细节特征太多.
最后上代码
import