欢迎光临
我们一直在努力

深度学习与LabVIEW(一)

主要讲述如何将深度学习模型应用在LabVIEW环境中,并修改深度学习模型训练自己的数据集。深度学习模型可以被搭载在以下三个LabVIEW相关环境中运行:

1、在装有64位的LabVIEW 2018(及以上)的PC机中运行;

2、在装有32位/64位 LabVIEW 2016(及以上)的PC机中运行;

3、在NI带有RT和FPGA系列硬件中运行。

首先是准备工作,需要注意以下四个方面:

第一,我讲述的是应用tensorflow框架进行深度学习,NI Vision Development Moudel只支持tensorflow框架,Caffe之类的不行。而且我本篇主要讲的是tensorflow_gpu的安装,tensorflow_cpu的安装很简单,百度搜一下很容易就完成了,但是CPU版本的无论是训练还是测试都太慢了,你若电脑里有英伟达计算能力稍强一点的显卡就选择gpu版本吧,速度是CPU的好几倍。

第二,根据电脑配置选择安装tensorflow的版本,我的电脑是CPU i7/显卡GTX1070ti,所以我选择了tensorflow_gpu_1.4.0,具体你的显卡配什么tensorflow版本或配什么CUDA,就去百度搜索一下,肯定能搜到你的显卡。

第三,CUDA和cuDNN版本选择参照下表下载,我本文以tensorflow_gpu_1.4.0为例,如果想安装别的版本tensorflow就对应下表下载不同 的CUDA和cuDNN。

第四,最好在安装之前能重做系统,虽然很麻烦,但是为了安装顺利,如果不方便可以先直接安装,如果总出问题解决不了再重做系统按照顺序重新安装一遍,注意了,是按照顺序,顺序搞错了很容易报错。

下面具体介绍安装步骤:

1、安装LabVIEW 2018(32bit和64bit)

去NI官方网站下载。

2、安装NI Vision 2018(32bit和64bit)

去NI官方网站下载。

3、安装vs2015

下载安装VisualC++ Redistributable for Visual Studio 2015 来获取MSVCP140.DLL的支持,为了以后使用过程中不出现错误,最好直接下载安装VS2015。

4、安装CUDA8.0(cuda_8.0.61_win10)

若去官网下载总是下到一半就断了,所以推荐去别人的百度网盘上下载。新手注意了,最好别改安装路径,使用默认路径,另外若安装失败就去百度搜一下解决方法吧,因为每个人安装出现的错误都不一样,实在不行就重做系统吧。

5、安装cuDNN6.0(cudnn-8.0-windows10-x64-v6.0)

百度搜索cuDNN,打开第一个:

然后注册个账号,一般微信登陆就ok了,接下来:

解压后覆盖到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0目录即可

6、安装Anaconda3-4.3.0-Windows-x86_64

最好在别人的百度网盘或开源镜像网站上下载Anaconda,Anaconda4.3.0内置的python是3.6版本的,tensorflow_gpu_1.4.0对应的是3.5版本,但先不管他,下载好了就安装,一直下一步,能勾选的全都选上,尤其看到PATH字样的,那是帮你自动添加路径呢,一定要勾选上。

在菜单栏上搜索cmd,右键以管理员身份运行CMD(注意,以后都要用管理员身份运行),检查Anaconda是否成功安装,输入:conda --version,如果输出:conda x.x.x就说明成功了。

检测目前安装了哪些环境,输入:conda info --envs

目前只有一个环境,等你把后续步骤都做完了,就会有两个环境了:

7、安装python

安装python3.5,输入:conda create --name tensorflow python=3.5

该语句的意思是,创建一个tensorflow环境,在该环境中安装python3.5,输入后系统会自动选择一个3.5的最新版本进行安装。

激活tensorflow,输入:activate tensorflow

前面多出一个小括号里面是tensorflow,这就代表已经切换到tensorflow环境中去了。

检查tensorflow环境中的python版本:python --version

可以看到,系统安装的是python3.5.4版本,其实哪个版本都无所谓,只要是python3.5系列的就行。

8、安装tensorflow

注意,千万不要直接用pip install --ignore-installed --upgrade tensorflow-gpu,这种方式下载,这样会下载到最新版本,而最新版本的tensorflow与咱们之前安装的CUDA、cuDNN、python版本都不兼容,所以需要咱们自己手动下载一个,具体流程如下:

百度搜索pypi,第一个点进去,搜索tensorflow gpu:

选择第一个:

选择历史版本,找到1.4.0:

点击Download file,选择cp35(意思是python3.5)、win_amd64(意思是windows 64位操作系统)

记录文件下载路径,然后管理员身份打开cmd,切换到tensorflow环境中(上面已经讲了如何切换到tensorflow环境)输入:

cd 文件下载路径

pip install tensorflow_gpu-1.4.0-cp35-cp35m-win_amd64.whl,这样就把tensorflow_gpu 1.4.0安装在tensorflow环境中了(如果找不到路径,就把文件直接复制到默认的路径下面,然后再pip install tensorflow_gpu-1.4.0-cp35-cp35m-win_amd64.whl)。

在tensorflow环境下输入python:

再输入import tensorflow as tf:

如果不报错,就代表安装成功了。

9.安装spyder开发环境

打开Anaconda Navigator(开始菜单->Anaconda 3->Anaconda Navigator),在上面的Applications on中选择tensorflow,将root环境改为tensorflow环境:

然后点击spyder下面的install,安装好后会变成Launch,点进去测试一下,输入:

import tensorflow as tf

hello = tf.constant('hello,NI Vision!')

sess = tf.Session()

print(sess.run(hello))

运行程序,如果没报错,那么就安装成功了。

10、安装Opencv

没有Opencv模块的支持,很难去训练自己的数据,从~gohlke/pythonlibs/#opencv选择需要的版本(cp后面是你本机所安装的python版本,win_amd64就是windows 64位操作系统)。

下载完毕后,记录下你的下载路径,还是管理员身份进入cmd,切换到tensorflow环境中,输入:

cd 下载路径

pip install 文件名

这样就把下载下来的opencv模块安装到tensorflow环境中去了。

如果你用spyder这个开发环境去做深度学习那你就还得继续修改点东西,因为spyder的不支持opencv的编译模块, 不只是spyder,大多数支持Python的编辑器都存在类似问题。接下来打开C:\Users\Administrator\Anaconda3\envs\tensorflow\Lib\site-packages\spyder\utils\introspection,有的人找不到这个位置,这取决于你安装anaconda的位置,先找到anaconda的安装路径然后顺藤摸瓜找到找到module_completion.py这个文件,实在不行就直接在C盘Ctrl+F搜索module_completion.py吧。

用记事本打开module_completion.py,在200多行的mods变量中添加'cv','cv2',保存退出。

删除同目录下__pycache__文件夹中的module_completion.cpython-35.pyc文件,目的是为以后重新生成新的文件。

删除C:\Users\Administrator\.spyder-py3\db中的submodules文件

重启spyder,输入以下代码验证(验证前先找一张图片,并修改代码中的图片路径):

import tensorflow as tf

image = cv2.imread("D:/image.jpg")   #我自己找了个后缀.jpg的图片,命名为image,放在了D盘下,可根据自己的图像路径修改。

cv2.namedWindow('image', 0)

cv2.imshow('image', image)

# Create a TensorFlow Variable

x = tf.Variable(image, name='x')

model = tf.global_variables_initializer()

with tf.Session() as session:

x = tf.transpose(x, perm=[1,0 , 2])  #将图像数据转置

session.run(model)

result = session.run(x)

cv2.namedWindow('result', 0)

cv2.imshow('result', result)

cv2.waitKey(0)

最终实现效果如下,将原图片旋转:

如果不经过上面修改spyder的参数,那么图像是无法显示出来的,你做深度学习的过程中也就无法看见你的图像了。

到此,深度学习环境的搭建已经完成了,后续继续更新如何训练自己的数据集,以及训练好的深度学习模型如何应用在LabVIEW环境中,但是tensorflow一定要安装的,你不安装tensorflow即使能运行别人写好的范例,你也无法改变识别的内容和准确率,根据此篇内容,你也可以自己去网上找一些网络模型进行训练和测试了,我最近工作很忙,无法及时更新,还望谅解。建议自己安装tensorflow之前要多从网上查一查自己电脑的配置和系统安装什么版本的tensorflow比较好,如果想把深度学习模型应用在LabVIEW中,那么最好安装tensorflow_gpu 1.4.1以上的版本,因为深度学习模型应用在LabVIEW PC机的环境中运行共有两种方法,其中一种方法只能调取tensorflow 1.4.1以上版本生成的.pb文件,所以为了能两种方法全部适用,建议安装tensorflow 1.4.1以上的版本和LabVIEW最新的版本(如果你想全部三种方法都适用,最好把LabVIEW2018 32位和64位全部安装)。

我发的全部都是原创文章,看完后点个赞吧!为后续更新提供动力!

赞(90)
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址