1. 程式人生 > >神經計算棒使用步驟

神經計算棒使用步驟

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平均於非凸問題時,通常會使用指數衰減計算平均值:              

計算最小步驟

操作 計算 步驟 多少 等於 按順序 元素 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),