1. 程式人生 > >ubuntu16.0.4環境下搭建DeepNet深度學習框架

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]:~$ source ~/.bashrc
[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

安裝cuda 

不建議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。
  1. cd cudamat  
  2. make  
一般會遇到 nvcc-03錯誤

編譯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目錄下執行:

  1. python setup_examples.py <path to mnist dataset> <output path>  
結果出現 

錯誤 from google.protobuf import descriptor ImportError:No module named google.protobuf

又搞了好久,

cd到解壓後的protobuf資料夾下的python資料夾,執行

  1. sudo python setup.py install
顯示沒有setuptools 就下載

2. 安裝

$ tar -zxvf setuptools-0.6c11.tar.gz

$ cd setuptools=0.6c11

$ python setup.py install

然後執行

  1. sudo python setup.py build

  1. sudo python setup.py install
執行例子還是不行,重灌protobuf 依然有問題

最後

執行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的包放在