Tensorflow_gpu训练手写数字pb模型文件,C++调用预测
没啥好说,直接上代码
1 | # -*- coding: utf-8 -*- |
训练会生成pb文件,到e:\model.pb,随后用python调用,调用代码如下:
1 | # -*- coding: utf-8 -*- |
使用到的图片是这个,你可以自己下载直接用,也可以手写然后用OpenCV处理得到28*28的灰度图片。
![3](\images\3_mnist.png)
Visual C++调用pb文件预测
也是直接上代码
1 | #define COMPILER_MSVC |
相关配置都有在前两篇博客写过,就不赘述了。这里要说下CUDA配置完Tensorflow C++使用坑爹的地方,如果你同时开着python的tensorflowIDE环境,它会分出部分GPU内存给该环境,但是如果你用上面的代码运行测试,会发现报内存超出的错。
![normal](\images\normal.PNG)
正常调用会这样,但是开着其他环境,就报错:
![abnormal](\images\abnormal.PNG)
CUDA_ERROR_OF_MEMORY,然后更坑爹的是我的c++无法同python一样指定gpu内存分配,会报unresolved external symbol错误,也就是未解析的外部符号。解决办法就一个,关掉其他gpu进程。
预测结果如下:
![c++预测](\images\c++预测.PNG)
细节回去再更….