主要講述如何將深度學習模型應用在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模塊的支持,很難去訓練自己的數據,從https://www.lfd.uci.edu/~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
import cv2
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位全部安裝)。
我發的全部都是原創文章,看完後點個讚吧!為後續更新提供動力!