pythonlenet
Ⅰ 怎麼用python 實現lenet的深度學習
Python學得倒不用很深,循環跟函數還有類學完就可以搞深度學習了。 新手用深度學習庫先跑跑,真要進階還要修改的話,你會發現瓶頸其實在數學
Ⅱ python mxnet 運行時出現simple_bind failed錯誤
可以用Python的擴展來實現。 Python本來是C實現的,封裝二進制兼容的C++是很容易的
Ⅲ 如何用python介面調用caffemodel
來表示整個運算過程的話,那麼w和b就是我們需要訓練的東西,w稱為權值,在cnn中也可以叫做卷積核(filter),b是偏置項。f是激活函數,有sigmoid、relu等。x就是輸入的數據。
數據訓練完成後,保存的caffemodel裡面,實際上就是各層的w和b值。
我們運行代碼:
deploy=root + 'mnist/deploy.prototxt' #deploy文件
caffe_model=root + 'mnist/lenet_iter_9380.caffemodel' #訓練好的 caffemodel
net = caffe.Net(net_file,caffe_model,caffe.TEST) #載入model和network
就把所有的參數和數據都載入到一個net變數裡面了,但是net是一個很復雜的object, 想直接顯示出來看是不行的。其中:
net.params: 保存各層的參數值(w和b)
net.blobs: 保存各層的數據值
Ⅳ 深度學習中利用caffe如何訓練自己的模型
作者:聖行
鏈接:https://www.hu.com/question/30091667/answer/47951446
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。
matlab 和python沒有用過。如果是習慣用opencv的話,可以使用memory_data,請參考這個鏈接里的例子:C++ Image Classification with memory_data_param · Issue #1443 · BVLC/caffe · GitHub
給一個具體點的例子吧(不知道貼代碼是不是有點不合知乎氣質?),總共分三步:
第一步,構造網路:
enum Phase p = TEST;
Net<float> caffe_test_net(argv[1],p);
caffe_test_net.CopyTrainedLayersFrom(argv[2]);
第二步,構造數據並加入到網路輸入層:
//create the input data
vector<Mat> md_images;
vector<int> md_labels;
//////operations for the input data
Mat original = imread("images\\lena_gray.png"); //隨便的圖片,沒有實用意義,可忽略
Mat *sub_img = new Mat;
for (int i = 0; i < 10; i++){
original(Range(i, i + 28), Range(i, i + 28)).To(*sub_img); // 28x28,可以直接用lenet
md_images.push_back(*sub_img);
md_labels.push_back(0);
}
第三步,執行test操作:
for (int i = 0; i < 10; i++){
const vector<Blob<float>*>& result = caffe_test_net.ForwardPrefilled();
Ⅳ 如何使用scikit-learn實現lenet-5
Python由於其易用性及豐富函數庫已經數、自科統計首選編程語言Scikit-learn通現Python包構建——NumPy SciPymatplotlib——服務於數自科庫要使用互動式工作台應用程序要嵌入其重用工具箱BSD許獲取所完全放重用
Ⅵ 如何利用caffe自帶的工具包繪制accuracy/loss曲線
需要用到的文件在 caffe/tools/extra/plot_training_log.py.example
還需要用到caffe/tools/extra/parse_log.sh 和 caffe/tools/extra/extract_seconds.py文件(如果不在當前目錄執行記得都拷貝出來)
執行命令 python plot_training_log.py 0 save.png my.log
0 -為繪制類型,會有usage 提示或者查看源碼 為要畫那種圖,有測試的、訓練的accurary等等
Usage:
./plot_training_log.py chart_type[0-7] /where/to/save.png /path/to/first.log ...
Notes:
1. Supporting multiple logs.
2. Log file name must end with the lower-cased ".log".
Supported chart types:
0: Test accuracy vs. Iters
1: Test accuracy vs. Seconds
2: Test loss vs. Iters
3: Test loss vs. Seconds
4: Train learning rate vs. Iters
5: Train learning rate vs. Seconds
6: Train loss vs. Iters
7: Train loss vs. Seconds
save.png 是保存圖像路徑
my.log 是訓練caffe定義的層輸出日誌路徑,也就是當前要繪制曲線的數據,必須以.log結尾
eg:
>python ./plot_training_log.py 0 ~/share/learn-caffe/accuracy_iter.png ~/share/learn-caffe/lesson04/mnist_lenet.log
Ⅶ linux下無cuda怎麼pip安裝pytorch
linux下安裝caffe(無cuda)以及python介面
caffe(8)
主要過程稍微記錄一下:
1.安裝BLAS
sudo apt-get install libatlas-base-dev
2.安裝依賴項
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler liblmdb-dev
3.安裝glog
這個要FQ,我放在我的網路雲上了。
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make
sudo make install
4.安裝gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make
sudo make install
這一步需要cmake,如果沒有安裝可以用 sudo apt-get install cmake 安裝。
5.安裝lmdb
git clone https://gitorious.org/mdb/mdb.git
cd mdb/libraries/liblmdb
make
sudo make install
如果沒有安裝Git,也要用 sudo apt-get install git 來安裝。
註:如果可以FQ,只用下面一句就可以安裝gflags,glog和lmdb了,省了3,4,5這三步。
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
6.下載Caffe
git clone git://github.com/BVLC/caffe.git
7.安裝Caffe
cd caffe
cp Makefile.config.example Makefile.config
因為這里沒有gpu,所以需要設置Makefile.config文件中的CPU_ONLY:= 1,把這句的注釋去掉就可以了。
然後編譯
make all
make test
make runtest
安裝好以後我們就可以試著在mnist上跑一下lenet了。
1.首先獲取mnist數據
cd caffe
./data/mnist/get_mnist.sh
2.然後創建lenet
./examples/mnist/create_mnist.sh
注意一定要在caffe的根目錄下運行以下命令,否則會報「 build/examples/mnist/convert_mnist_data.bin: not found」的錯誤,參見這里。
3.訓練cnn
沒有gpu的話要記得把caffe/examples/mnist/lenet_solver.prototxt中的solver_mode設置成solver_mode: CPU。然後在根目錄下執行:
./examples/mnist/train_lenet.sh
准確率可以達到0.9912
因為caffe的tutorial上有很大一部分是Python的,所以後來又安裝了一下python的介面。
1.首先安裝python
2.安裝pip
sudo apt-get install python-pip python-dev build-essential
3.運行以下代碼安裝必要的依賴項:
sudo pip install -r ./python/requirements.txt
4.這里我運行了make clean以及其他編譯的caffe的命令,重新編譯了一次caffe,但我不確定是不是必須的。
5.在caffe的根目錄下運行:
make pycaffe
這里遇到了一個問題:
virtual memory exhausted: Cannot allocate memory
make: *** [python/caffe/_caffe.so] Error 1
按照這里的方法增加Linux虛擬機的內存就可以解決了。
6.把caffe/python的路徑加到python路徑中:
運行python進入python shell,然後運行下列命令:
import sys
sys.path.append("path/to/caffe/python/")
exit()
7. 這時候再次進入python shell,運行import caffe就沒有報錯了。
Ⅷ caffe怎麼test訓練好的model
訓練好一個model後,你會得到caffemodel這個文件,這個文件其實就是包含著你訓練完成後得到的參數,當你需要測試的時候,你需要你的配置文件prototxt文件(設置網路結構的那個文件)和這個caffemodel文件。然後你可以使用python或者matlab等介面調用上述的文件,運行就可以了。如python,net.forward()。然後就可以得到測試的結果了。