1. 程式人生 > >Caffe學習:pycaffe利用caffemodel進行分類

Caffe學習:pycaffe利用caffemodel進行分類

  • 匯入相關庫
import caffe
  • 配置
# caffemodel檔案
MODEL_FILE = 'model/_iter_10000.caffemodel'
# deploy檔案,參考/caffe/models/bvlc_alexnet/deploy.prototxt
DEPLOY_FILE = 'deploy.prototxt'
# 測試圖片存放資料夾
TEST_ROOT = 'datas/'
  • GPU模式測試
caffe.set_mode_gpu()
net = caffe.Net(DEPLOY_FILE, MODEL_FILE, caffe.TEST)
  • 資料輸入預處理
# 'data'對應於deploy檔案:
# input: "data" # input_dim: 1 # input_dim: 3 # input_dim: 32 # input_dim: 96 transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape}) # python讀取的圖片檔案格式為H×W×K,需轉化為K×H×W transformer.set_transpose('data', (2, 0, 1)) # python中將圖片儲存為[0, 1],而caffe中將圖片儲存為[0, 255], # 所以需要一個轉換 transformer.set_raw_scale('data'
, 255) # caffe中圖片是BGR格式,而原始格式是RGB,所以要轉化 transformer.set_channel_swap('data', (2, 1, 0)) # 將輸入圖片格式轉化為合適格式(與deploy檔案相同) net.blobs['data'].reshape(1, 3, 32, 96)
  • 讀取圖片
# 詳見/caffe/python/caffe/io.py
img = caffe.io.load_image('temp.jpg')
# 讀取的圖片檔案格式為H×W×K,需轉化
  • 進行分類
# 資料輸入、預處理
net.blobs['data'].data[...] = transformer.preprocess('data'
, img) # 前向迭代,即分類 out = net.forward() # 輸出結果為各個可能分類的概率分佈 pridects = out['prob'] # 上述'prob'來源於deploy檔案: # layer { # name: "prob" # type: "Softmax" # bottom: "ip2" # top: "prob" # }
  • 最可能分類
pridect = pridects.argmax()

相關推薦

Caffe學習pycaffe利用caffemodel進行分類

匯入相關庫 import caffe 配置 # caffemodel檔案 MODEL_FILE = 'model/_iter_10000.caffemodel' # deplo

Caffe學習使用pycaffe讀取caffemodel引數

#!/usr/bin/env python # 引入“咖啡” import caffe import numpy as np # 使輸出的引數完全顯示 # 若沒有這一句,因為引數太多,中間會以省略號“……”的形式代替 np.set_printoptions(thres

Caffe學習使用pycaffe進行網路訓練與測試

使用pycaffe進行網路訓練與測試: 編寫solver檔案: train_net: "mnist/lenet_auto_train.prototxt" test_net: "mnist/len

Caffe學習4. 使用訓練好的caffemodel(python)

在嘗試過 mnist 資料集進行測試後,想要對任意一張圖片進行識別測試,所以將目光瞄準了GoogleNet。在Caffe安裝好後就會有GoogleNet的example,在model種就可以找到。 ————————————————————————————————————

【轉載】Caffe學習運行caffe自帶的兩個簡單例子

0.00 練習 siam 其它 sudo 單例 復制 腳本 policy 原文:http://www.cnblogs.com/denny402/p/5075490.html 為了程序的簡潔,在caffe中是不帶練習數據的,因此需要自己去下載。但在caffe根目錄下的data

caffe學習Faster-RCNN除錯

參考官方的安裝教程的同時,注意一些細節,由於我的伺服器上之前跑openpose,因為Anaconda包含與Caffe不相容的Protobuf版本,所以一直不敢裝anaconda。但是跑Faster-RCNN的時候又發現自己安裝的python環境,那些第三方庫又老是出現不相

機器學習樸素貝葉斯分類器,決策函式向量化處理,mask使用技巧

文章目錄 前面實現的樸素貝葉斯分類器,決策函式是非向量化的: 藉助於numpy向量化處理,相當於平行計算,注意mask使用技巧,用途較廣: 前面實現的樸素貝葉斯分類器,決策函式是非向量化的: 前面提到過大資料處理,儘量避免個人的遍歷等一些函式

機器學習樸素貝葉斯分類器程式碼實現,決策函式非向量化方式

文章目錄 樸素貝葉斯離散型的演算法描述: 程式碼實現: 實現一個NaiveBayes的基類,以便擴充套件: 實現離散型樸素貝葉斯MultiomialNB類: 實現從檔案中讀取資料: 測試資料: 程式碼測試:

利用python進行分類-預測顧客流失(簡版)

更新內容:第4點c方式計算準確率的方式(用了sklearn方式)由於每個演算法都基於某些特定的假設,且均含有某些缺點,因此需要通過大量的實踐為特定的問題選擇合適的演算法。可以這麼說:沒有任何一種分類器可以在所有的情況下都有良好的表現。分類器的效能,計算能力,預測能力在很大程度上都依賴於用於模型的相關資料。訓練

機器學習有監督演算法之分類

說明:機器學習橫跨電腦科學、工程技術和統計學等多個科學。人們很難直接從原始資料本身獲得所需資訊,機器學習可以把無序的資料轉換成有用的資訊;移動計算和感測器產生的海量資料意味著未來將面臨越來越多的資料,如何從中抽取到有價值的資訊很重要,機器學習可以幫助我們從中抽取有用的資訊。

JAVA學習筆記_利用slf4j進行log4j日誌管理

slf4j介紹 slf4j官網:http://www.slf4j.org/ SLF4J,即簡單日誌門面(Simple Logging Facade for Java),不是具體的日誌解決方案,它只服務於各種各樣的日誌系統。SLF4J所提供的核心API是一些

Spring學習12-Spring利用mock進行單元測試

一、概述  對於Java元件開發者來說,他們都盼望擁有一組能夠對元件開發提供全面測試功能的好用的單元測試。一直以來,與測試獨立的Java物件相比,測試傳統型J2EE Web元件是一項更為困難的任務,因為Web元件必須執行在某種伺服器平臺上並且它們還要與基於HTTP的Web

深度學習Alexnet網路對影象進行分類/預測(遷移學習

眾所周知,在MATLAB裡面非常方便對各種演算法和技術進行可行性實驗,前幾個月也很好奇用深度學習對影象進行分類,幸好新版本的MATLAB 2017能夠對深度學習提供支援:D,現在抽空把程式碼分享出來與大家共享~ 本文快速的用MATLAB對自己的影象資料集進行訓練和分類,小

caffe學習CIFAR-10

使用資料庫:CIFAR-10 60000張 32X32 彩色影象 10類,50000張訓練,10000張測試 具體操作實現: (1)獲取資料庫 #下面假定caffe的根目錄是 CAFFE_ROOT,在終端輸入命令下載資料集:   cd  $CAFFE_R

利用keras進行分類

Classifier 做classifier的時候,本來是按照莫煩的教程一步一步做的,但是總是在mnist.load_data這部分出錯,說是無法連結到https://s3.amazonaws.com/img-datasets/mnist.npz,我上網也找了

Caffe學習系列(20)用訓練好的caffemodel進行分類

#coding=utf-8 #載入必要的庫 import numpy as npimport sys,os #設定當前目錄 caffe_root = '/home/xxx/caffe/' sys.path.insert(0, caffe_root + 'python') import caffe os.c

Python機器學習筆記利用Keras進行多類分類

名稱 encoder 創建 numeric 種類 deep ast 4.0 允許   Keras是一個用於深度學習的Python庫,它包含高效的數值庫Theano和TensorFlow。   本文的目的是學習如何從csv中加載數據並使其可供Keras使用,如何用神經網絡建立

Caffe利用訓練好的模型進行分類

    以大神訓練好的模型為基礎,利用自己的資料進行了finetune之後,下一步就可以真正使用模型來進行分類操作了。具體步驟如下:     1. 編輯分類網路的配置檔案deploy.prototxt     deploy檔案是真正使用模型時候用的,其結構與train_v

機器學習利用核函式進行非線性分類

%Preceptron4.m%感知機演算法(對偶形式)利用核函式完成分類演算法%f(X)=W'*X+b%f([X;1])=[W;b]'*[X;1] 增加維數,簡化計算%設W初始為0時,權重W是訓練點的線性組合:W=Σaj*yj*Xj%類別yi決定了Xi的係數,ai>

tensorflow 1.0 學習用別人訓練好的模型來進行圖像分類

ima ppi gin 什麽 dir targe spl flow blog 谷歌在大型圖像數據庫ImageNet上訓練好了一個Inception-v3模型,這個模型我們可以直接用來進來圖像分類。 下載地址:https://storage.googleapis.com/d