ubuntu16.0.4環境下搭建DeepNet深度學習框架
四月份的時候就已經搭建了一次Deepnet框架,只是當時也沒有執行成功例子就那樣擱淺了。現在是因為發現神經網路利用hadoop並行不太可能,就果斷放棄搞了近一個月的hadoop,轉向GPU了。但是學習hadoop搭建環境也是搞了大概兩天吧,後來也是看視訊學習等,現在至少搭建環境沒問題了。所以說還是有收穫的。
現在來完整地說說這個框架的搭建過程及遇到的問題及解決方法吧。
我的環境ubuntu 旗艦版 16.0.4 +cuda-8.0+protobuf-3.2 +Anaconda2
首先 介紹一下
這個框架deepnet是多倫多大學計算機系機器學習組開發的一個神經網路工具包,可以進行以下計算:
1. Feed-forward Neural Nets
2. Restricted Boltzmann Machines
3. Deep Belief Nets4. Autoencoders
5. Deep Boltzmann Machines6. Convolutional Neural Nets
主要的成果是其中的DBM,可用於多模態建模。論文是“Multimodal Learning with Deep Boltzmann Machines” 框架比較冷門,所以安裝資料比較少,但是在各位高手的幫助下還算是搭建成功了吧。
兩篇安裝經驗推薦
http://blog.csdn.net/wspba/article/details/53363066
http://blog.csdn.net/llx1990rl/article/details/41699351
首先安裝python ,建議安裝 Anaconda2 ,因為那個numpy不知道怎麼回事就是安裝不成功,還是安裝簡潔的Anaconda2吧。
安裝Anaconda2;
[email protected]:~$ bash Anaconda2-4.3.0-Linux-x86_64.sh
Welcome to Anaconda2 4.3.0 (by Continuum Analytics, Inc.)
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
輸入Enter回車, 下面讓你看License,直接往下翻到最後
================
Anaconda License
================
Copyright 2016, Continuum Analytics, Inc.
All rights reserved under the 3-clause BSD License:
...
cryptography
A Python library which exposes cryptographic recipes and primitives.
Do you approve the license terms? [yes|no]
>>>
Please answer 'yes' or 'no':
>>> yes
輸入yes;
Anaconda2 will now be installed into this location:
/home/darcy/anaconda2
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/darcy/anaconda2] >>>
輸入Enter回車, 安裝到預設目錄;
PREFIX=/home/darcy/anaconda2
installing: python-2.7.13-0 ...
...
installing: anaconda-4.3.0-np111py27_0 ...
installing: ruamel_yaml-0.11.14-py27_1 ...
installing: conda-4.3.8-py27_0 ...
installing: conda-env-2.6.0-0 ...
Python 2.7.13 :: Continuum Analytics, Inc.
creating default environment...
installation finished.
Do you wish the installer to prepend the Anaconda2 install location
to PATH in your /home/darcy/.bashrc ? [yes|no]
[no] >>> yes
輸入yes, 新增路徑到配置檔案;自動新增的
執行 如下命令,啟用配置環境
[email protected]:~$ python
Python 2.7.13 |Anaconda 4.3.0 (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>>
>>> exit()
安裝Protocol Buffers(不建議按照部落格那裡解壓然後分別放到include 和lib資料夾下)
官網下載,我使用protobuf-2.6.1.tar.gz。
cd至下載路徑
解壓
$ tar zxvf protobuf-2.6.1.tar.gz
進入解壓目錄
$ cd protobuf-2.6.1
安裝原始碼,配置、編譯、編譯檢查、安裝
$ ./configure
$ make
$ make check
$ make install
增加環境變數
$ sudo vi .bashrc
#在最下面加上
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
測試
$ protoc --version
protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared
錯誤原因:
protobuf的預設安裝路徑是/usr/local/lib,而/usr/local/lib 不在Ubuntu體系預設的 LD_LIBRARY_PATH 裡,所以就找不到該lib
解決方法:
1). 建立檔案 /etc/ld.so.conf.d/libprotobuf.conf,在該檔案中輸入如下內容:
/usr/local/lib
2). 執行命令
sudo ldconfig
這時,再執行protoc --version 就可以正常看到版本號了
執行 sudo ldconfig
顯示符號連線錯誤
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符號連線
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符號連線
原因:
系統找的是一個符號連線,而不是一個檔案。
解決方法:
sudo mv /usr/lib/
nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
不建議deb方式安裝,因為會出現驅動的問題,具體還是看官網介紹吧。
sudo apt-get purge nvidia-* //刪除現有關於cuda的東西
sudo apt-get install nvidia-375 //nvidia-後面的數字是版本號 相容大部分的GPU型號
sudo reboot //重啟
重啟後,終端輸入:
nvidia-smi //或者
nvidia-settings
如果沒出錯,則驅動安裝成功
cuda 8.0 Downloads下載cuda 8.0 的 runfile安裝包。
cd切換到下載的檔案目錄下進行安裝:
sudo sh cuda_8.0.44_linux.run
啟動安裝程式,一直按空格到最後,輸入accept接受條款
輸入n不安裝nvidia影象驅動,之前已經安裝過了 (只要是提示安裝驅動,不要選,最關鍵的一步在這兒了)
輸入y安裝cuda 8.0工具
回車確認cuda預設安裝路徑:/usr/local/cuda-8.0
輸入y用sudo許可權執行安裝,輸入密碼
輸入y或者n安裝或者不安裝指向/usr/local/cuda的符號連結
輸入y安裝CUDA 8.0 Samples,以便後面測試
回車確認CUDA 8.0 Samples預設安裝路徑,該安裝路徑測試完可以刪除
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
$ sudo gedit /etc/profile
在開啟的檔案末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
儲存之後,建立連結檔案:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在開啟的檔案中新增如下語句:
/usr/local/cuda/lib64
然後執行
sudo ldconfig
測試
cd 到 粗大examples
~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
這樣就安裝成功了cuda;
接下來
編譯cudamat。
- cd cudamat
- make
編譯cudamat之前修改makefile。因為CUDA是8.0,需要去掉:
-gencode=arch=compute_10,code=sm_10 \
- 1
- 1
然後加上:
-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 \
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
這裡修改的35 50這些數字要和查詢裝置裡的一致,而且makefile裡上下兩段都要改,我原來只改了上面的可沒少走彎路 。 這樣後面執行時就不會出現CUDA error。
接下來執行樣例 測試DeepNet。下載MNIST資料集,下載地址:http://www.cs.toronto.edu/~nitish/deepnet/mnist.tar.gz
cd到deepnet/deepnet/examples目錄下執行:
- python setup_examples.py <path to mnist dataset> <output path>
錯誤 from google.protobuf import descriptor ImportError:No module named google.protobuf
又搞了好久,
cd到解壓後的protobuf資料夾下的python資料夾,執行
- sudo python setup.py install
2. 安裝
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools=0.6c11
$ python setup.py install
然後執行
- sudo python setup.py build
- sudo python setup.py install
最後
執行conda install -c conda-forge protobuf=3.2.0
選擇yes
居然成功了,原來可能還是依賴哪裡沒有弄好。
也問了一個博主
他說 sudo apt-get install python-protobuf
這種方案我沒有試過,不過應該也可以。
還可能遇到 No GPU 的問題
去這裡
http://blog.sina.com.cn/1988joey
相關推薦
ubuntu16.0.4環境下搭建DeepNet深度學習框架
四月份的時候就已經搭建了一次Deepnet框架,只是當時也沒有執行成功例子就那樣擱淺了。現在是因為發現神經網路利用hadoop並行不太可能,就果斷放棄搞了近一個月的hadoop,轉向GPU了。但是學習hadoop搭建環境也是搞了大概兩天吧,後來也是看視訊學習等,現在至少
Centos7.4環境下搭建Python開發環境(虛擬機器安裝+python安裝+pycharm安裝)
目錄 一、安裝 Centos7.4虛擬機器 二、安裝 python3.6.7 三、安裝 pycharm 一般情況下,大家都是在 Windows平臺下進行 Python開發,軟體安裝和環境搭建都非
CentOS6.4下編譯caffe深度學習框架實踐!!!
花了點時間在CentOS6.4伺服器上搭建caffe深度學習框架環境其中遇到了一些問題,最終還是解決. 先上圖看看: 應該很直觀了吧,其中細節注意: 1. 在編譯ATLAS時出現CPU頻率問題,我就直接使用yum源:yum install atlas-devel bla
叢集伺服器環境下安裝Caffe深度學習庫(GPU)
關於配置Berkeley Caffe深度學習庫的帖子網上已經有很多了, 不過大多數都是基於本地機進行配置. 我個人的一部分研究涉及到用深度學習對數字病理學圖片進行分類(基於畫素),因為影象量很大所以需要用到叢集計算並利用GPU加速.個人覺得自己在演算法和理論上並不算深入,在
windows環境下搭建python機器學習開發環境
是的,我自己都快忘記我的本職其實是資料探勘&&機器學習了&&資訊保安,老是不要臉的把自己當一個程式猿,最近想寫個神經網路的演算法結果發現手上木有適合用的環境了。說實話我雖然不否認vim的強大,但是不能隨便改字型大小這一點我是真不適應啊,我需要
深度學習第一步:windows+Anaconda下安裝tensorflow深度學習框架
一共四步,一會就成功! 第一步,首先需要安裝Anaconda。 它是一個庫管理工具,能夠管理不同環境,不同環境下可以安裝不同python版本以及其他庫。安裝Anaconda這一步非常的簡單去Anaconda官方網站(https://www.continuum.
DeepNet深度學習框架的使用
上一章,我們介紹了在Linux環境下DeepNet框架的搭建,這一章,我們講講DeepNet的使用。 以/deepnet-master/deepnet/examples中的rbm為例: cd到/deepnet-master/deepnet/examples/rbm目錄中,看
Ubuntu16.04環境下搭建Hadoop3.0.3偽分散式叢集
最近剛好趕上雙11騰訊促銷,於是搶購了一個8核16G記憶體的雲伺服器,加上業務上需要用到hadoop,hive,於是想搭建搭建一個hadoop分散式叢集,但是限於自己手頭上伺服器數量不多,因此打算先搭建一個hadoop偽分散式叢集。 首先介紹一下我的安裝
Solr6.0與Jetty、Tomcat在Win環境下搭建/部署
rt.jar Language 管理 tom 增強 .net jet 還在 摘要 摘要: Solr6的新特性包括增強的edismax,對SQL更好的支持——並行SQL、JDBC驅動、更多的SQL語法支持等,並且在Solr6發布以後,Solr5還在持續更新,對於想嘗鮮Solr
Ubuntu16.0.4下安裝、卸載apache2服務
重新 all apache 方式 nbsp 安裝 stop In res 1.安裝apache2 安裝命令:sudo apt-get install apache2 啟動/停止/重啟apache2: service apache2 start/stop/restart
windows10 環境下搭建 ELK 6.2.4
ELK資料整理 1. 描述 ELK 是 ElasticSearch + LogStash + Kibana LogStash :收集log日誌,傳送到ES ElasticSearch :一個基於Lucene的分散式全文搜尋框架,可以對logs進行
使用 byzanz ubuntu16.0.4 下錄製gif動畫
在程式設計師的部落格中,為了減少程式碼的書寫,我們需要實用簡潔的展現方式來展現我們的程式碼和操作, gif 動畫非常符合我們的實際需求,那麼在Ubuntu的桌面系統中有那些好用的工具呢? 筆者之前在別的博文中看到了一篇博文,介紹的軟體包非常好用,名字叫做byzanz 安
docker環境下搭建hadoop叢集(ubuntu16.04 LTS系統)
我的思路是這樣: 安裝ubuntu系統---->下載docker---->在docker里拉取hadoop映象---->在此映象裡建立三個容器(Master、Slave1、Slave2)---->完成完全分散式 1. 安裝ubuntu系統(無論你
ubuntu16.0.4下安裝numpy及scipy
開啟終端,source activate xxxx 進入一個python環境,使用pip list指令檢視已安裝包 使用清華映象源進行pip安裝 (py27) [email protected]:/$ pip install numpy -i https://
python3.6 + Django2.0.1 +MySQL 5.7 環境下搭建環境的流程
最近在學習Django,看的教程中使用的是老版本的python2+Django1.10,已經略顯落後。遂自己查資料改用py3+Django2.0,期間遇到很多問題,寫成這篇流程記錄。 1.建立你的專案 django-admin startproject 專案名
Windows環境下搭建Hadoop(2.6.0)+Hive(2.2.0)環境並連線Kettle(6.0)
前提:配置JDK1.8環境,並配置相應的環境變數,JAVA_HOME 一.Hadoop的安裝 1.1 下載Hadoop (2.6.0) http://hadoop.apache.org/releases.html 1.1.1 下載對應版本的winutils(https://gith
ubuntu16.0.4網路連線錯誤和jdk1.8環境配置
一、ubuntu16.0.4不能上網 這個問題的辦法是從百度上面搜到的,搜尋下面的網址,即可完美解決問題 (1)點選編輯-》虛擬網路編輯 (2) 彈出的對話方塊中,點選左下角“還原預設設定”,然後如果是灰色的,先點選“更改設定”賦予許可權。
在Eclipse開發環境下搭建Hadoop2.6.0
Eclipse版本Luna 4.4.1 安裝外掛hadoop-eclipse-plugin-2.6.0.jar,下載後放到eclipse/plugins目錄即可。 2. 配置外掛 2.1 配置hadoop主目錄 解壓縮hadoop-2.6.0.tar.g
opencv隨筆記錄:1.opencv與python在anaconda下安裝(windows/ubuntu16.0.4)
一 window10系統安裝opencv(一切順利) 這裡的安裝只需要簡單的兩步。 本教程基於你已經安裝了anaconda。。 1.開啟navigator 點選environments->create(建立一個虛擬環境) 輸入opencv,確定創立該虛擬環境 2.
Ubuntu16.04+CUDA+CUDNN+Anaconda+Tensorflow+keras深度學習環境搭建
本人剛開始接觸深度學習,在搭建環境時出了不少大大小小的問題,最終搭建成功,寫下配置過程希望能為他人提供一定的借鑑。(如有存在錯誤的地方請大家指正) 電腦為ubuntu16.04,gtx1080Ti 顯示卡 1. CUDA安裝 (1)下載cuda的包放在