神經計算棒使用步驟
1. GRAPH_PATH:graph檔案路徑;
2. IMAGE_PATH:要分類的圖片的路徑;
3. IMAGE_DIM:由選擇的神經網路定義的影象尺寸; 例:GoogLeNet uses 224x224 pixels, AlexNet uses 227x227 pixels
4. IMAGE_STDDEV:由選擇的神經網路定義的標準差(標度值) 例:GoogLeNet uses no scaling factor, InceptionV3 uses 128 (stddev = 1/128)
5. IMAGE_MEAN: 平均減法是深度學習中常用的一種技術,用於對資料進行中心處理
例:ILSVRC dataset, the mean is B = 102 Green = 117 Red = 123
使用NCS做影象分類的5個步驟:
從mvnc庫中引入mvncapi模組
import mvnc.mvncapi as mvnc
Step 1:
將NCS插入應用處理器(Ubuntu膝上型電腦/桌上型電腦)USB埠時,它將自身列為USB裝置。將呼叫API來查詢列舉的NCS裝置:
# Look for enumerated Intel Movidius NCS device(s); quit program if none found.
devices = mvnc.EnumerateDevices()
if len( devices ) == 0:
print( 'No devices found' )
quit()
如果插入了多個NCS,還需要選擇一個NCS並開啟:
# Get a handle to the first enumerated device and open it
device = mvnc.Device( devices[0] )
device.OpenDevice()
Step2:載入graph檔案到NCS
# Read the graph file into a buffer
with open( GRAPH_PATH, mode='rb' ) as f:
blob = f.read()
# Load the graph buffer into the NCS
graph = device.AllocateGraph( blob )
Step3: 將單個影象載入到Intel Movidius NCS上以執行推理
影象預處理:
1. 調整影象大小/裁剪影象以匹配預先訓練的網路定義的尺寸。
GoogLeNet uses 224x224 pixels, AlexNet uses 227x227 pixels.
2. 每個通道的平均值(藍色,綠色和紅色)從整個資料集中減去。這是深度學習中常用的一種技術,可以集中資料。
3. 將影象轉換為半精度浮點數(fp16)陣列,並使用LoadTensor函式呼叫將影象載入到NCS上。skimage庫可以在一行程式碼中完成此操作。
# Read & resize image [Image size is defined during training]
img = print_img = skimage.io.imread( IMAGES_PATH )
img = skimage.transform.resize( img, IMAGE_DIM, preserve_range=True )
# Convert RGB to BGR [skimage reads image in RGB, but Caffe uses BGR]
img = img[:, :, ::-1]
# Mean subtraction & scaling [A common technique used to center the data]
img = img.astype( numpy.float32 )
img = ( img - IMAGE_MEAN ) * IMAGE_STDDEV
# Load the image as a half-precision floating point array
graph.LoadTensor( img.astype( numpy.float16 ), 'user object' )
Step4: 從NCS讀取並列印推理結果
# Get the results from NCS
output, userobj = graph.GetResult()
# Print the results
print('\n------- predictions --------')
labels = numpy.loadtxt( LABELS_FILE_PATH, str, delimiter = '\t' )
order = output.argsort()[::-1][:6]
for i in range( 0, 5 ):
print ('prediction ' + str(i) + ' is ' + labels[order[i]])
# Display the image on which inference was performed
skimage.io.imshow( IMAGES_PATH )
skimage.io.show( )
Step 5: 解除安裝圖形並關閉裝置
為了避免記憶體洩漏和/或分段錯誤,我們應該關閉所有開啟的檔案或資源並釋放所有使用的記憶體。
graph.DeallocateGraph()
device.CloseDevice()
相關推薦
神經計算棒使用步驟
1. GRAPH_PATH:graph檔案路徑;2. IMAGE_PATH:要分類的圖片的路徑;3. IMAGE_DIM:由選擇的神經網路定義的影象尺寸; 例:GoogLeNet uses 224x224 pixels, AlexNet uses 227x227 pixel
使用Movidius神經計算棒(相關專案經驗)
https://blog.csdn.net/weixin_42259631/article/details/82414152 https://blog.csdn.net/bobpeter84/article/details/82685310 https://blog.csdn.net/wei
簡單開發板 + 一根神經計算棒帶您走進人工智慧的世界
佈景 剛過去的2017年,人工智慧( AI )bbs.ropal.com.cn毫無疑問的成為了最火爆的前沿範疇。能夠判定,2018年乃至往後的至少5年內,這種氣勢必將繼續,而且節節攀高。什麼是人工智慧?百度百科做了很多很專業的解釋,說得淺顯易懂點,人工智慧就是要
Movidus 神經計算棒 樹莓派平臺 ncsdk2.0 完全配置 及 一些問題
配置之前的瑣事和解決方法 之前配置了的1.x版本的ncsdk。錯誤百出,於是有了另一篇文章就是純API配置,沒有配完全版。 經過我的測試,用以下方法配置是可以用的。配置方法和下面的2.0類似,不過有可能出現170錯誤 PREV_INSTALL_INFO='$SUDO_P
Tensorflow深度學習網路應用——英特爾神經計算棒編譯
因為偶然的機會,我接觸到從事嵌入式開發的團隊的英特爾神經計算棒專案,得以熟悉英特爾神經計算棒的使用過程。本篇部落格主要是記錄我5天來的除錯工作,為將來從事嵌入式開發,有可能應用到神經計算棒做影象處理的同志留一些經驗。 首先來介紹英特爾這款神經計算棒。
使用Movidius神經計算棒進行vgg16演算法預測
本文討論在Ubuntu16.04的系統中使用Movidius神經計算棒,進行vgg16演算法預測。 1.首先在系統中安裝python3.5,這裡不再贅述。 2.然後進行神經計算SDK的安裝,注意安裝過程中記得將計算棒插入USB介面。 本文以NCSDK2的版本進行講解
人工智慧、機器學習和神經網路計算棒走出試驗室的應用場景
跟著“人工智慧”走出試驗室、逐步有了實踐的應用場景,它成為了一項可能在不久的將來徹底改動人類社會的根底技能,也成為了很多人最愛評論的論題。可是,AI(人工智慧)、機器學習、神經網路計算棒,這些詞看著潮,究竟是指什麼呢? 別慌,咱們試著舉幾個簡略的比方來解釋一下。 人工智慧 “科技
神經網路計算棒的語音技術將會重點應用的幾大領域
說起語音技能,或許不少人認為它等同於語音辨認技能。事實上,語音技能包含語音辨認但不僅限於此。除了語音辨認之外,語音技能還包含語音組成、音色轉化、語音增強等多個方向,今年一月份英特爾推出一款usb神經網路計算棒,繼英特爾幾個月後,人工智慧新興品牌若派Ropal也推
harris角點檢測計算詳細步驟
說明 某人說,演算法看不懂,公式不明白,舉個栗子咯,能看到具體數值的那種。 好吧,舉個最簡單的角點檢測演算法吧。以下程式碼為matlab。 步驟 一、生成影象 構造一個棋盤影
移植計算棒
首先下載官方的計算棒的SDK git clone -b ncsdk2 http://github.com/Movidius/ncsdk && cd ncsdk && make install 這是官方SDK的原始碼,只能編譯出
python寫一個循環1+到10打印計算步驟的腳本——純粹無聊玩的
python寫一個循環1+到10打印計算[root@13cml10 ~]# cat a.py #_*_coding:utf-8_*_for i in range(0,12): for a in range(0,i): print "+", print a, print "=&
決策樹算法——計算步驟示例
數據集 tro 1-1 inner 屬性 其他 一個 tables 對數 使用決策樹算法手動計算GOLF數據集 步驟: 1、通過信息增益率篩選分支。 (1)共有4個自變量,分別計算每一個自變量的信息增益率。 首先計算outlook的信息增益。outlook的信息增益Ga
當AI遇上量子計算:神經網路量子糾錯系統或超越傳統糾錯策略
量子計算機可以解決傳統計算機無法完成的複雜任務。然而,量子態(quantum states)對來自外界的持續干擾極其敏感。研究人員希望使用基於量子糾錯(quantum error correction)的主動保護來解決這個問題。 近日,德國馬克斯·普朗克光學研究所所長Florian Marquardt及其團
卷積神經網路之卷積計算、作用與思想
部落格:blog.shinelee.me | 部落格園 | CSDN 卷積運算與相關運算 在計算機視覺領域,卷積核、濾波器通常為較小尺寸的矩陣,比如\(3\times3\)、\(5\times5\)等,數字影象是相對較大尺寸的2維(多維)矩陣(張量),影象卷積運算與相關運算的關係如下圖所示(圖片來自連結)
神經網路優化:指數衰減計算平均值(滑動平均)
Polyak平均會平均優化演算法在引數空間訪問中的幾個點。如果t次迭代梯度下降訪問了點,那麼Polyak平均演算法的輸出是。 當應用Polyak平均於非凸問題時,通常會使用指數衰減計算平均值:
pytorch系列 ---5以 linear_regression為例講解神經網路實現基本步驟以及解讀nn.Linear函式
本文主要講述最簡單的線性迴歸函式: y = w
計算最小步驟
操作 計算 步驟 多少 等於 按順序 元素 nbsp 下一個 鑒於 N個整數數組,你必須找到 多少次 ,你必須 加起來最小的數字 數組中,直到 它們的總和 變得大於或等於 ? 舉例: minimumSteps({8 , 9, 4, 2}, 23) ==> return
神經網路反向傳播梯度計算數學原理
[神經網路]反向傳播梯度計算數學原理 1 文章概述 本文通過一段來自於Pytorch官方的warm-up的例子:使用numpy來實現一個簡單的神經網路。使用基本的數學原理,對其計算過程進行理論推導,以揭示這幾句神奇的程式碼後面所包含的原理。 估計對大多數的同學來說,看完這個文章,肯定會是這樣的感覺:字都
cs231 迴圈神經網路RNN (計算圖)
cs231 迴圈神經網路RNN (計算圖) from __future__ import print_function, division from builtins import range import numpy as np """
【深度學習】卷積神經網路的卷積層和池化層計算
一、簡介 \quad\quad 卷積神經網路(Convolutional neural network, CNN),