運行caffe自帶的兩個簡單例子

為了程序的簡潔,在caffe中是不帶練習數據的,因此需要自己去下載。但在caffe根目錄下的data文件夾里,作者已經為我們編寫好了下載數據的腳本文件,我們只需要聯網,運行這些腳本文件就行了。

注意:在caffe中運行所有程序,都必須在根目錄下進行,否則會出錯

1、mnist實例

mnist是一個手寫數字庫,由DL大牛Yan LeCun進行維護。mnist最初用于支票上的手寫數字識別, 現在成了DL的入門練習庫。征對mnist識別的專門模型是Lenet,算是最早的cnn模型了。

mnist數據訓練樣本為60000張,測試樣本為10000張,每個樣本為28*28大小的黑白圖片,手寫數字為0-9,因此分為10類。

首先下載mnist數據,假設當前路徑為caffe根目錄

# sudo sh data/mnist/get_mnist.sh

運行成功后,在 data/mnist/目錄下有四個文件:

train-images-idx3-ubyte:? 訓練集樣本 (9912422 bytes)?
train-labels-idx1-ubyte: ?訓練集對應標注 (28881 bytes)?
t10k-images-idx3-ubyte: ? 測試集圖片 (1648877 bytes)?
t10k-labels-idx1-ubyte: ? 測試集對應標注 (4542 bytes)

這些數據不能在caffe中直接使用,需要轉換成LMDB數據

# sudo sh examples/mnist/create_mnist.sh

如果想運行leveldb數據,請運行 examples/siamese/ 文件夾下面的程序。 examples/mnist/ 文件夾是運行lmdb數據

轉換成功后,會在 examples/mnist/目錄下,生成兩個文件夾,分別是mnist_train_lmdb和mnist_test_lmdb,里面存放的data.mdb和lock.mdb,就是我們需要的運行數據。

接下來是修改配置文件,如果你有GPU且已經完全安裝好,這一步可以省略,如果沒有,則需要修改solver配置文件。

需要的配置文件有兩個,一個是lenet_solver.prototxt,另一個是train_lenet.prototxt.

首先打開lenet_solver_prototxt

# sudo vi examples/mnist/lenet_solver.prototxt

根據需要,在max_iter處設置最大迭代次數,以及決定最后一行solver_mode,是否要改成CPU

保存退出后,就可以運行這個例子了

# sudo time sh examples/mnist/train_lenet.sh

CPU運行時候大約13分鐘,GPU運行時間大約4分鐘,GPU+cudnn運行時候大約40秒,精度都為99%左右

2、cifar10實例

cifar10數據訓練樣本50000張,測試樣本10000張,每張為32*32的彩色三通道圖片,共分為10類。

下載數據:

# sudo sh data/cifar10/get_cifar10.sh

運行成功后,會在 data/cifar10/文件夾下生成一堆bin文件

轉換數據格式為lmdb:

# sudo sh examples/cifar10/create_cifar10.sh

轉換成功后,會在 examples/cifar10/文件夾下生成兩個文件夾,cifar10_train_lmdb和cifar10_test_lmdb, 里面的文件就是我們需要的文件。

為了節省時間,我們進行快速訓練(train_quick),訓練分為兩個階段,第一個階段(迭代4000次)調用配置文件cifar10_quick_solver.prototxt, 學習率(base_lr)為0.001

第二階段(迭代1000次)調用配置文件cifar10_quick_solver_lr1.prototxt, 學習率(base_lr)為0.0001

前后兩個配置文件就是學習率(base_lr)和最大迭代次數(max_iter)不一樣,其它都是一樣。如果你對配置文件比較熟悉以后,實際上是可以將兩個配置文件合二為一的,設置lr_policy為multistep就可以了。

復制代碼
base_lr: 0.001
momentum: 0.9
weight_decay: 0.004
lr_policy: "multistep"
gamma: 0.1
stepvalue: 4000
stepvalue: 5000
復制代碼

運行例子:

# sudo time sh examples/cifar10/train_quick.sh

GPU+cudnn大約45秒左右,精度75%左右。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387326.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387326.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387326.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

quartz.net 執行后臺任務

... https://www.cnblogs.com/zhangweizhong/category/771057.html https://www.cnblogs.com/lanxiaoke/category/973331.html 宿主在控制臺程序中 using System;using System.Collections.Specialized;using System.IO;using System.Threading.Tasks;using Quartz;using Quart…

運行caffe自帶的mnist實例詳細教

為了程序的簡潔,在caffe中是不帶練習數據的,因此需要自己去下載。但在caffe根目錄下的data文件夾里,作者已經為我們編寫好了下載數據的腳本文件,我們只需要聯網,運行這些腳本文件就行了。 Mnist介紹:mnist是…

6 軟件的安裝

6 軟件包管理 6.1 簡介 軟件包分類: 源碼包 源代碼(大多數是C語言) 安裝時慢,容易報錯 >腳本安裝包 對源碼包進行改裝,使安裝更簡單,不多。 rpm包 二進制包 Ubuntu系列的二進制包不是rpm&#xf…

STD函數的內部計算公式

各股票軟件的標準差函數STD是不同的,而布林線的上下軌是以STD為基礎計算出來的,所以使用布林線應小心。以2008/3/28的上證綜指為例,利用如下代碼:"收盤價3日STD:STD(CLOSE,3);",三日收盤價分別是&#xff1a…

caffe路徑正確,卻讀不到圖片

調試caffe,用已有的網絡訓練自己的數據集的時候(我這里做的是二分類)。在生成均值文件之后,開始train,發現出現了這個問題。 1,路徑正確,卻讀不到圖片。 [db_lmdb.hpp:15] Check failed: mdb_st…

Eclipse可以執行jsp文件卻無法訪問Tomcat主頁

點擊Servers,然后雙擊本地的Tomcat服務器 出現如下界面 這里要選擇第二項 再重新啟動Tomcat就行了 轉載于:https://www.cnblogs.com/lls1350767625/p/10452565.html

caffe調用的一個例子

本文是學習Caffe官方文檔"ImageNet Tutorial"時做的,同樣由于是Windows版本的原因,很多shell腳本不能直接使用,走了不少彎路,但是收獲也不少。比如:如何讓shell腳本在Windows系統上直接運行、如何去用Caffe給…

孔銅的銅厚

---恢復內容開始--- 表面處理方式注釋&#xff1a; 噴錫 噴錫鉛合金是一種最低成本PCB表面有鉛工藝&#xff0c;它能保持良好的可焊接性。但對于精細引腳間距(<0.64mm)的情況&#xff0c;可能導致焊料的橋接和厚度問題。 無鉛噴錫 一種無鉛表面處理工藝&#xff0c;符合“環…

1 kafka簡介

Publish-subscribe distributed messaging system. A distributed commit log. kafka集群中的服務器都叫broker。 客戶端有兩類&#xff1a;producer、consumer。 客戶端和broker之間使用TCP協議。 不同業務系統的消息通過topic進行區分。 消息的topic會分區&#xff0c;以…

各種機器學習的優缺點及應用場景

目錄 正則化算法&#xff08;Regularization Algorithms&#xff09; 集成算法&#xff08;Ensemble Algorithms&#xff09; 決策樹算法&#xff08;Decision Tree Algorithm&#xff09; 回歸&#xff08;Regression&#xff09; 人工神經網絡&#xff08;Artificial…

微信公眾號接入開發者模式,服務器配置Token驗證

概述 接入微信公眾平臺開發&#xff0c;開發者需要按照如下步驟完成&#xff1a; 填寫服務器配置驗證服務器地址的有效性依據接口文檔實現業務邏輯官方指南文檔服務器配置 服務器地址(URL)&#xff1a;填寫完URL后&#xff0c;微信服務器會發送GET請求&#xff0c;并攜帶以下參…

2 kafka安裝

單節點&#xff1a; 1、解壓kafka壓縮包到安裝目錄&#xff08;自己指定&#xff09;&#xff1b; 2、進入kafka目錄并執行命令 > bin/zookeeper-server-start.sh config/zookeeper.properties #如果報錯&#xff0c;修改kafka-run-class.sh&#xff0c;將 -XX:UseComp…

TensorFlow自帶例子

TensorFlow自帶例子已經包含了android和ios下的攝像頭圖像分類示例Inception&#xff0c;這里補充一個Windows下的&#xff0c;使用AForge庫(www.aforgenet.com)操作攝像頭。 代碼在這里下載&#xff0c;使用Visual Studio 2017編譯。 http://files.cnblogs.com/files/autosoft…

遇到Visual Studio 當前不會命中斷點.還沒有為該文檔加載任何符號的情況

一.問題及原因 有這樣一種調用邏輯:A.exe調用B.dll.現在想要在B的源代碼中打斷點,從A發起進行調試,卻給出了"當前不會命中斷點.還沒有為該文檔加載任何符號"的提示.感覺十分奇怪,各種重新生成,重啟VS都沒啥用,最后不得以網上搜了一番,找到了問題的根源. 原來我把舊的…

java01基礎簡介

1 java概述 開發服務器端應用程序最流行語言&#xff0c;產生網頁、運行后端邏輯。 當對java了解到一定程度&#xff0c;閱讀源碼才能解決問題。 Applet&#xff1a;在網頁中運行的java程序&#xff0c; Java的應用領域&#xff1a; 桌面應用系統開發 企業級應用開發 多媒…

TensorFlow自帶例子已經包含了android和ios下的攝像頭圖像分類示例Inception v1,這里補充一個Windows下的,使用AForge庫(www.aforgenet.com)操作

TensorFlow自帶例子已經包含了android和ios下的攝像頭圖像分類示例Inception v1&#xff0c;這里補充一個Windows下的&#xff0c;使用AForge庫(www.aforgenet.com)操作攝像頭。 代碼在這里下載&#xff0c;使用Visual Studio 2017編譯。 http://files.cnblogs.com/files/autos…

Docker+Mongodb

DockerMongodb 原文:DockerMongodbdocker search mongodb docker run -d -p 2701:27017 -v /usr/mongodb/data:/data/db -v /usr/mongodb/databack:/data/backup --name mongo-v1.0.0 mongo --auth docker exec -it mongo-v1.0.0 mongo admin docker exec -it mongo-v1.0.…

Java02繼承

5繼承 5.1 類、超類和子類 關鍵字extends表示繼承。 Java中的繼承都是公用繼承&#xff0c;沒有C中的私有繼承和保護繼承。 Super class Subclass 來自于集合的術語 Base class Derived class Parent class Child class 將通用的功能放在超類中&#xff0c;將具有特…

BP神經網絡與Python實現

人工神經網絡是一種經典的機器學習模型&#xff0c;隨著深度學習的發展神經網絡模型日益完善.聯想大家熟悉的回歸問題&#xff0c; 神經網絡模型實際上是根據訓練樣本創造出一個多維輸入多維輸出的函數&#xff0c; 并使用該函數進行預測&#xff0c; 網絡的訓練過程即為調節該…

《關于長沙.NET技術社區未來發展規劃》問卷調查結果公布

那些開發者們對于社區的美好期待 2月&#xff0c;長沙.net 技術社區自從把群拉起來開始&#xff0c;做了一次比較正式、題目為《關于長沙.NET技術社區未來發展規劃》的問卷調查&#xff0c;在問卷調查中&#xff0c;溪源寫道&#xff1a; 隨著互聯網時代的到來&#xff0c;互聯…