Ubuntu-16-04-編譯-Caffe-SSD

該來的還是要來

之前為了偷懶想到使用 Docker 回避 Caffe SSD 編譯的難題。結果,「天道好輪回,蒼天饒過誰」。Docker 鏡像內無法調用 GUI 顯示以及攝像頭,沒法跑 ssd_pascal_webcam.py 做實時 Object Detection。所以沒辦法又得重新嘗試編譯 Caffe SSD。現在就記錄一下,我在編譯 Caffe SSD 時候遇到的坑。

如果你僅需要訓練出 model 而后移植到別的機器上做推斷的話,你可以直接使用我前一篇文章的方法安裝 Docker,簡單而便捷。「傳送門」

下載源碼

git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd    # 這一步很重要,不要忘記
# 如果你沒有 git 的話就使用 「sudo apt-get install git」安裝 git
復制代碼

依賴安裝

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libopenblas-dev liblapack-dev libatlas-base-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo apt-get install cmake build-essential
復制代碼
# 修改 Makefile.config 文件
cp Makefile.config.example Makefile.config
vim Makefile.config
復制代碼
# 修改內容如下# 第5行,開啟 cuDNN 如果你不想用 GPU 就別改這個,去掉第8行的 # 以開啟 CPU_ONLY
USE_CUDNN := 1# 我沒有選擇開啟 OpenCV
# 如果你 CUDA 版本為 9.0 及以上,35 行開始修改如下
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \-gencode arch=compute_35,code=sm_35 \-gencode arch=compute_50,code=sm_50 \-gencode arch=compute_52,code=sm_52 \-gencode arch=compute_60,code=sm_60 \-gencode arch=compute_61,code=sm_61 \-gencode arch=compute_61,code=compute_61# 57 行
BLAS := open# 101 行
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/# 102 行
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial# 修改好后 :wq 退出并保存
復制代碼
# 修改 Makefile
vim Makefile
復制代碼
# 改動如下# 181 行
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial# 266 行
LIBRARIES += boost_thread stdc++ boost_regex# 修改好后 :wq 保存并退出
復制代碼

開始編譯

開始編譯之前一定要保證你的 protobuf 版本低于3.0。 我使用的版本為 2.6.1

# 使用下面命令查看版本
protoc --version
復制代碼

如果你的版本很高,降級過程如下: 首先在這里下載 protobuf 2.6.1。下載完成后放在你想放的任何目錄,然后終端中進入該目錄并執行

tar -zxvf protobuf-2.6.1.tar.gz
cd protobuf-2.6.1
./configure
make
make check
sudo make install
# 如果以上 make 命令提示沒有權限,則命令前加 sudo
# 完成后檢查 protobuf 版本
protoc --verison
# libprotoc 2.6.1
復制代碼
# 編譯過程在 Caffe 根目錄下進行 ~/caffe/
make all -j8
make py
make test -j8
# 如果提示權限不足,上述命令前均加 sudo
# 如果  make py 過程中提示錯誤,嘗試 sudo apt-get install python-numpy 解決# 驗證是否成功
cd python
python
import caffe
# 若未報錯則成功,下一步是添加環境變量
vim ~/.bashrc
# 在文件末尾添加如下內容
export PYTHONPATH=/home/ubuntu/work/caffe_ssd/caffe/python:$PYTHONPATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
# :wq 保存退出
source ~/.bashrc
復制代碼

結語

大功告成,如何訓練自己的數據集請看我另一篇文章。「傳送門」 如果你有任何疑問,歡迎留言詢問。

參考

blog.csdn.net/yhaolpz/art… github.com/rbgirshick/… stackoverflow.com/questions/3… stackoverflow.com/questions/4… github.com/weiliu89/ca…

轉載于:https://juejin.im/post/5bada59e6fb9a05d2272acc4

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

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

相關文章

bi數據分析師_BI工程師和數據分析師的5個格式塔原則

bi數據分析師Image by Author圖片作者 將美麗融入數據 (Putting the Beauty in Data) Have you ever been ravished by Vizzes on Tableau Public that look like only magic could be in play to display so much data in such a pleasing way?您是否曾經被Tableau Public上的…

BSOJ 2423 -- 【PA2014】Final Zarowki

Description 有n個房間和n盞燈,你需要在每個房間里放入一盞燈。每盞燈都有一定功率,每間房間都需要不少于一定功率的燈泡才可以完全照亮。 你可以去附近的商店換新燈泡,商店里所有正整數功率的燈泡都有售。但由于背包空間有限,你…

WPF綁定資源文件錯誤(error in binding resource string with a view in wpf)

報錯:無法將“***Properties.Resources.***”StaticExtension 值解析為枚舉、靜態字段或靜態屬性 解決辦法:嘗試右鍵單擊在Visual Studio解決方案資源管理器的資源文件,并選擇屬性選項,然后設置自定義工具屬性 PublicResXFile cod…

因果推論第六章

因果推論 (Causal Inference) This is the sixth post on the series we work our way through “Causal Inference In Statistics” a nice Primer co-authored by Judea Pearl himself.這是本系列的第六篇文章,我們將通過Judea Pearl本人與他人合著的《引誘統計學…

如何優化網站加載時間

一、背景 我們要監測網站的加載情況,可以使用 window.performance 來簡單的檢測。 window.performance 是W3C性能小組引入的新的API,目前IE9以上的瀏覽器都支持。一個performance對象的完整結構如下圖所示: memory字段代表JavaScript對內存的…

VMWARE VCSA 6.5安裝過程

https://www.tech-coffee.net/step-by-step-deploy-vcenter-server-appliance-vcsa-6-5/ vcsa 6.0,6.5 注冊機下載 鏈接:https://pan.baidu.com/s/1X5V-iWpvxozrwE7Ji099jw 密碼:jt8l 轉載于:https://www.cnblogs.com/flyhgx/p/9073485.html

熊貓數據集_處理熊貓數據框中的列表值

熊貓數據集Have you ever dealt with a dataset that required you to work with list values? If so, you will understand how painful this can be. If you have not, you better prepare for it.您是否曾經處理過需要使用列表值的數據集? 如果是這樣&#xff0…

聊聊jdk http的HeaderFilter

序 本文主要研究一下jdk http的HeaderFilter。 FilterFactory java.net.http/jdk/internal/net/http/FilterFactory.java class FilterFactory {// Strictly-ordered list of filters.final LinkedList<Class<? extends HeaderFilter>> filterClasses new Linked…

旋轉變換(一)旋轉矩陣

1. 簡介 計算機圖形學中的應用非常廣泛的變換是一種稱為仿射變換的特殊變換&#xff0c;在仿射變換中的基本變換包括平移、旋轉、縮放、剪切這幾種。本文以及接下來的幾篇文章重點介紹一下關于旋轉的變換&#xff0c;包括二維旋轉變換、三維旋轉變換以及它的一些表達方式&#…

數據預處理 泰坦尼克號_了解泰坦尼克號數據集的數據預處理

數據預處理 泰坦尼克號什么是數據預處理&#xff1f; (What is Data Pre-Processing?) We know from my last blog that data preprocessing is a data mining technique that involves transforming raw data into an understandable format. Real-world data is often incom…

Pytorch中DNN入門思想及實現

DNN全連接層&#xff08;線性層&#xff09; 計算公式&#xff1a; y w * x b W和b是參與訓練的參數 W的維度決定了隱含層輸出的維度&#xff0c;一般稱為隱單元個數&#xff08;hidden size&#xff09; b是偏差值&#xff08;本文沒考慮&#xff09; 舉例&#xff1a; 輸…

IDEA去除mapper.xml文件中的sql語句的背景色

2019獨角獸企業重金招聘Python工程師標準>>> IDEA版本 2017.3 mapper.xml文件中的sql語句&#xff0c;總是黃色一大片&#xff0c;看起來不舒服。 按如下設置進行設置即可 此時設置完還有點背景色 再進行一個設置 Ok,完美解決 轉載于:https://my.oschina.net/u/3939…

vc6.0 繪制散點圖_vc有關散點圖的一切

vc6.0 繪制散點圖Scatterplots are one of the most popular visualization techniques in the world. Its purposes are recognizing clusters and correlations in ‘pairs’ of variables. There are many variations of scatter plots. We will look at some of them.散點圖…

sudo配置臨時取得root權限

sudo配置臨時取得root權限系統中的普通用戶有時需要root權限執行某種操作&#xff0c;要是使用su - root的話必須要知道root的密碼&#xff0c;這是不安全的&#xff0c;所以有了sudo&#xff0c;root可以對/etc/sudoers做一定的配置&#xff0c;讓普通用戶在不切換到root的情況…

Pytorch中RNN入門思想及實現

RNN循環神經網絡 整體思想&#xff1a; 將整個序列劃分成多個時間步&#xff0c;將每一個時間步的信息依次輸入模型&#xff0c;同時將模型輸出的結果傳給下一個時間步&#xff0c;也就是說后面的結果受前面輸入的影響。 RNN的實現公式&#xff1a; 個人思路&#xff1a; 首…

小扎不哭!FB又陷數據泄露風波,9000萬用戶受影響

對小扎來說&#xff0c;又是多災多難的一個月。 繼不久前Twitter曝出修補了一個可能造成數以百萬計用戶私密消息被共享給第三方開發人員的漏洞&#xff0c;連累Facebook股價跟著短線跳水之后&#xff0c;9月28日&#xff0c;Facebook又雙叒叕曝出因安全漏洞遭到黑客攻擊&#…

在衡量歐洲的政治意識形態時,調查規模的微小變化可能會很重要

(Related post: On a scale from 1 to 10, how much do the numbers used in survey scales really matter?)(相關文章&#xff1a; 從1到10的量表&#xff0c;調查量表中使用的數字到底有多重要&#xff1f; ) At Pew Research Center, survey questions about respondents’…

Pytorch中CNN入門思想及實現

CNN卷積神經網絡 基礎概念&#xff1a; 以卷積操作為基礎的網絡結構&#xff0c;每個卷積核可以看成一個特征提取器。 思想&#xff1a; 每次觀察數據的一部分&#xff0c;如圖&#xff0c;在整個矩陣中只觀察黃色部分33的矩陣&#xff0c;將這【33】矩陣(點乘)權重得到特…

java常用設計模式一:單例模式

1、餓漢式 package singleton.demo;/*** author Administrator* date 2019/01/07*/ public class Singleton {//在調用getInstance方法前&#xff0c;實例已經創建好private static Singleton instance new Singleton();//私有構造&#xff0c;防止被實例化private Singleton(…

SDUT-2121_數據結構實驗之鏈表六:有序鏈表的建立

數據結構實驗之鏈表六&#xff1a;有序鏈表的建立 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 輸入N個無序的整數&#xff0c;建立一個有序鏈表&#xff0c;鏈表中的結點按照數值非降序排列&#xff0c;輸出該有序鏈表。 Input 第一行輸入整數個數N&…