实现ZF-Net
根據的代碼是https://github.com/hvy/chainer-visualization
注意:遇到問題一定要仔細看問題的描述,從最基本的描述入手,而不要按照網上的方法斷章取義式的解決問題。
遇到的問題是:
1. 無法載入cupy庫
解決辦法:
安裝Chainer,步驟見http://docs.chainer.org/en/stable/install.html
Before installing Chainer
We recommend these platforms.
- Ubuntu?14.04 LTS 64bit
- CentOS?7 64bit
Chainer is supported on Python 2.7.6+, 3.4.3+, 3.5.1+. Chainer uses C++ compiler such as g++. You need to install it before installing Chainer. This is typical installation method for each platform:
# Ubuntu 14.04 $ apt-get install g++# CentOS 7 $ yum install gcc-c++If you use old?setuptools, upgrade it:
$ pip install -U setuptoolsInstall Chainer
Chainer depends on these Python packages:
- NumPy?1.9, 1.10, 1.11
- Six?1.9
CUDA support
- CUDA?6.5, 7.0, 7.5, 8.0
- filelock
cuDNN support
- cuDNN?v2, v3, v4, v5, v5.1
Caffe model support
- Protocol Buffers
- protobuf>=3.0.0 is required for Py3
All these libraries are automatically installed with?pip?or?setup.py.
Image dataset is optional
- Pillow
HDF5 serialization is optional
- h5py?2.5.0
Install Chainer via pip
We recommend to install Chainer via pip:
$ pip install chainerInstall Chainer from source
You can use?setup.py?to install Chainer from source:
$ tar zxf chainer-x.x.x.tar.gz $ cd chainer-x.x.x $ python setup.py installWhen an error occurs...
Use?-vvvv?option with?pip?command. That shows all logs of installation. It may helps you:
$ pip install chainer -vvvvInstall Chainer with CUDA
You need to install CUDA Toolkit before installing Chainer. If you have CUDA in a default directory or set?CUDA_PATH?correctly, Chainer installer finds CUDA automatically:
$ pip install chainerNote
Chainer installer looks up?CUDA_PATH?environment variable first. If it is empty, the installer looks for?nvcc?command from?PATH?environment variable and use its parent directory as the root directory of CUDA installation. If?nvcc?command is also not found, the installer tries to use the default directory for Ubuntu?/usr/local/cuda.
If you installed CUDA into a non-default directory, you need to specify the directory with?CUDA_PATHenvironment variable:
$ CUDA_PATH=/opt/nvidia/cuda pip install chainerWarning
If you want to use?sudo?to install Chainer, note that?sudo?command initializes all environment variables. Please specify?CUDA_PATH?environment variable inside?sudo?like this:
$ sudo CUDA_PATH=/opt/nvidia/cuda pip install chainerInstall Chainer with CUDA and cuDNN
cuDNN is a library for Deep Neural Networks that NVIDIA provides. Chainer can use cuDNN. If you want to enable cuDNN, install cuDNN and CUDA before installing Chainer. We recommend you to install cuDNN to CUDA directory. For example if you uses Ubuntu Linux, copy?.h?files to?includedirectory and?.so?files to?lib64?directory:
$ cp /path/to/cudnn.h $CUDA_PATH/include $ cp /path/to/libcudnn.so* $CUDA_PATH/lib64The destination directories depend on your environment.
If you want to use cuDNN installed in other directory, please use?CFLAGS,?LDFLAGS?andLD_LIBRARY_PATH?environment variables before installing Chainer:
export CFLAGS=-I/path/to/cudnn/include export LDFLAGS=-L/path/to/cudnn/lib export LD_LIBRARY_PATH=/path/to/cudnn/lib:$LD_LIBRARY_PATHInstall Chainer for developers
Chainer uses Cython (>=0.24). Developers need to use Cython to regenerate C++ sources from?pyxfiles. We recommend to use?pip?with?-e?option for editable mode:
$ pip install -U cython $ cd /path/to/chainer/source $ pip install -e .Users need not to install Cython as a distribution package of Chainer only contains generated sources.
Support image dataset
Install Pillow manually to activate image dataset. This feature is optional:
$ pip install pillowSupport HDF5 serialization
Install h5py manually to activate HDF5 serialization. This feature is optional:
$ pip install h5pyBefore installing h5py, you need to install libhdf5. It depends on your environment:
# Ubuntu 14.04 $ apt-get install libhdf5-dev# CentOS 7 $ yum -y install epel-release $ yum install hdf5-develUninstall Chainer
Use pip to uninstall Chainer:
$ pip uninstall chainerNote
When you upgrade Chainer,?pip?sometimes installed various version of Chainer insite-packages. Please uninstall it repeatedly until?pip?returns an error.
Upgrade Chainer
Just use?pip?with?-U?option:
$ pip install -U chainerReinstall Chainer
If you want to reinstall Chainer, please uninstall Chainer and then install it. We recommend to use--no-cache-dir?option as?pip?sometimes uses cache:
$ pip uninstall chainer $ pip install chainer --no-cache-dirWhen you install Chainer without CUDA, and after that you want to use CUDA, please reinstall Chainer. You need to reinstall Chainer when you want to upgrade CUDA.
Run Chainer with Docker
We provide the official Docker image. Use?nvidia-docker?command to run Chainer image with GPU. You can login to the environment with bash, and run the Python interpreter:
$ nvidia-docker run -it chainer/chainer /bin/bashOr, run the interpreter directly:
$ nvidia-docker run -it chainer/chainer /usr/bin/pythonWhat “recommend” means?
We tests Chainer automatically with Jenkins. All supported environments are tested in this environment. We cannot guarantee that Chainer works on other environments.
FAQ
The installer says “hdf5.h is not found”
You don’t have libhdf5. Please install hdf5. See?Before installing Chainer.
MemoryError happens
You maybe failed to install Cython. Please install it manually. See?When an error occurs....
Examples says “cuDNN is not enabled”
You failed to build Chainer with cuDNN. If you don’t need cuDNN, ignore this message. Otherwise, retry to install Chainer with cuDNN.?-vvvv?option helps you. See?Install Chainer with CUDA and cuDNN.
嘗試看看LD_LIBRARY_PATH是否包含/usr/local/cuda/lib64
2. 某些版本不兼容問題,比如VGG()參數能否為空,PIL庫升級到"枕頭"庫。
需要在conda框架下切換不同版本的python程序,見http://www.jianshu.com/p/d2e15200ee9b#
conda測試指南
在開始這個conda測試之前,你應該已經下載并安裝好了Anaconda或者Miniconda
注意:在安裝之后,你應該關閉并重新打開windows命令行。
一、Conda測試過程:
二、完整過程
提示:在任何時候你可以通過在命令后邊跟上--help來獲得該命令的完整文檔。例如,你可以通過如下的命令來學習conda的update命令。
conda update --help1. 管理conda:
Conda既是一個包管理器又是一個環境管理器。你肯定知道包管理器,它可以幫你發現和查看包。但是如果當我們想要安裝一個包,但是這個包只支持跟我們目前使用的python不同的版本時。你只需要幾行命令,就可以搭建起一個可以運行另外python版本的環境。,這就是conda環境管理器的強大功能。
提示:無論你使用Linux、OS X或者Windows命令行工具,在你的命令行終端conda指令都是一樣的,除非有特別說明。
檢查conda已經被安裝。
為了確保你已經在正確的位置安裝好了conda,讓我們來檢查你是否已經成功安裝好了Anaconda。在你的命令行終端窗口,輸入如下代碼:
conda --version Conda會返回你安裝Anaconda軟件的版本。
提示:如果你看到了錯誤信息,檢查你是否在安裝過程中選擇了僅為當前用戶按安裝,并且是否以同樣的賬戶來操作。確保用同樣的賬戶登錄安裝了之后重新打開命令行終端窗口。
升級當前版本的conda
接下來,讓我們通過使用如下update命令來升級conda:
conda update conda conda將會比較新舊版本并且告訴你哪一個版本的conda可以被安裝。它也會通知你伴隨這次升級其它包同時升級的情況。
如果新版本的conda可用,它會提示你輸入y進行升級.
conda更新到最新版后,我們將進入下一個主題。
2. 管理環境。
現在我們通過創建一些環境來展示conda的環境操作,然后移動它們。
創建并激活一個環境
使用conda create命令,后邊跟上你希望用來稱呼它的任何名字:
conda create --name snowflake biopython 這條命令將會給biopython包創建一個新的環境,位置在/envs/snowflakes
小技巧:很多跟在--后邊常用的命令選項,可以被略寫為一個短線加命令首字母。所以--name選項和-n的作用是一樣的。通過conda -h或conda –-help來看大量的縮寫。
激活這個新環境
Linux,OS X: source activate snowflakes Windows:activate snowflake` 小技巧:新的開發環境會被默認安裝在你conda目錄下的envs文件目錄下。你可以指定一個其他的路徑;去通過conda create -h了解更多信息吧。
小技巧:如果我們沒有指定安裝python的版本,donda會安裝我們最初安裝conda時所裝的那個版本的python。
創建第二個環境
這次讓我們來創建并命名一個新環境,然后安裝另一個版本的python以及兩個包 Astroid 和 Babel。
conda create -n bunnies python=3 Astroid Babel 這將創建第二個基于python3 ,包含Astroid 和 Babel 包,稱為bunnies的新環境,在/envs/bunnies文件夾里。
小技巧:在此同時安裝你想在這個環境中運行的包,
小提示:在你創建環境的同時安裝好所有你想要的包,在后來依次安裝可能會導致依賴性問題(貌似是,不太懂這個術語怎么翻)。
小技巧:你可以在conda create命令后邊附加跟多的條件,鍵入conda create –h 查看更多細節。
列出所有的環境
現在讓我們來檢查一下截至目前你所安裝的環境,使用conda environment info 命令來查看它:
conda info --envs你將會看到如下的環境列表:
conda environments:
snowflakes * /home/username/miniconda/envs/snowflakesbunnies /home/username/miniconda/envs/bunniesroot /home/username/miniconda確認當前環境
你現在處于哪個環境中呢?snowflakes還是bunnies?想要確定它,輸入下面的代碼:
conda info -envisconda將會顯示所有環境的列表,當前環境會顯示在一個括號內。
(snowflakes)注意:conda有時也會在目前活動的環境前邊加上*號。
切換到另一個環境(activate/deactivate)
為了切換到另一個環境,鍵入下列命令以及所需環境的名字。
Linux,OS X: source activate snowflakes Windows:activate snowflakes如果要從你當前工作環境的路徑切換到系統根目錄時,鍵入:
Linux,OS X: source deactivate Windows: deactivate當該環境不再活動時,將不再被提前顯示。
復制一個環境
通過克隆來復制一個環境。這兒將通過克隆snowfllakes來創建一個稱為flowers的副本。
conda create -n flowers --clone snowflakes 通過conda info –-envs來檢查環境
你現在應該可以看到一個環境列表:flowers, bunnies, and snowflakes.
刪除一個環境
如果你不想要這個名為flowers的環境,就按照如下方法移除該環境:
conda remove -n flowers --all為了確定這個名為flowers的環境已經被移除,輸入以下命令:
conda info -eflowers 已經不再在你的環境列表里了,所以我們知道它被刪除了。
學習更多關于環境的知識
如果你想學習更多關于conda的命令,就在該命令后邊跟上?-h
conda remove -h3. 管理Python
conda對Python的管理跟其他包的管理類似,所以可以很輕松地管理和升級多個安裝。
檢查python版本
首先讓我們檢查那個版本的python可以被安裝:
conda search --full --name python你可以使用conda search python來看到所有名字中含有“python”的包或者加上--full --name命令選項來列出完全與“python”匹配的包。
安裝一個不同版本的python
現在我們假設你需要python3來編譯程序,但是你不想覆蓋掉你的python2.7來升級,你可以創建并激活一個名為snakes的環境,并通過下面的命令來安裝最新版本的python3:
conda create -n snakes python=3 ·Linux,OS X:source activate snakes ·Windows: activate snakes小提示:給環境取一個很形象的名字,例如“Python3”是很明智的,但是并不有趣。
確定環境添加成功
為了確保snakes環境已經被安裝了,鍵入如下命令:
conda info -econda會顯示環境列表,當前活動的環境會被括號括起來(snakes)
檢查新的環境中的python版本
確保snakes環境中運行的是python3:
python --version使用不同版本的python
為了使用不同版本的python,你可以切換環境,通過簡單的激活它就可以,讓我們看看如何返回默認2.7
·Linux,OS X: source activate snowflakes ·Windows:activate snowflakes檢查python版本:
確保snowflakes環境中仍然在運行你安裝conda時安裝的那個版本的python。
python --version注銷該環境
當你完成了在snowflakes環境中的工作室,注銷掉該環境并轉換你的路徑到先前的狀態:
·Linux,OS X:source deactivate ·Windows:deactivate4. 管理包
現在讓我們來演示包。我們已經安裝了一些包(Astroid,Babel和一些特定版本的python),當我們創建一個新環境時。我們檢查我們已經安裝了那些包,檢查哪些是可用的,尋找特定的包并安裝它。接下來我們在Anconda.org倉庫中查找并安裝一些指定的包,用conda來完成更多pip可以實現的安裝,并安裝一個商業包。
查看該環境中包和其版本的列表:
使用這條命令來查看哪個版本的python或其他程序安裝在了該環境中,或者確保某些包已經被安裝了或被刪除了。在你的終端窗口中輸入:
conda list使用conda命令查看可用包的列表
一個可用conda安裝的包的列表,按照Python版本分類,可以從這個地址獲得:
http://docs.continuum.io/anaconda/pkg-docs.html
查找一個包
首先讓我們來檢查我們需要的這個包是否可以通過conda來安裝:
conda search beautifulsoup4它展示了這個包,所以我們知道它是可用的。
安裝一個新包
我們將在當前環境中安裝這個Beautiful Soup包,使用conda命令如下;
conda install --name bunnies beautifulsoup4
提示:你必須告訴conda你要安裝環境的名字(-n bunies)否則它將會被安裝到當前環境中。
現在激活bunnies環境,并且用conda list來顯示哪些程序被安裝了。
從Anaconda.org安裝一個包
如果一個包不能使用conda安裝,我們接下來將在Anaconda.org網站查找。Anaconda.org向公開和私有包倉庫提供包管理服務。Anaconda.org是一個連續分析產品。
提示:你在Anaconda.org下載東西的時候不強制要求注冊。
為了從Anaconda.org下載到當前的環境中,我們需要通過指定Anaconda.org為一個特定通道,通過輸入這個包的完整路徑來實現。
在瀏覽器中,去?http://anaconda.org?網站。我們查找一個叫“bottleneck”的包,所以在左上角的叫“Search Anaconda Cloud”搜索框中輸入“bottleneck”并點擊search按鈕。
Anaconda.org上會有超過一打的bottleneck包的版本可用,但是我們想要那個被下載最頻繁的版本。所以你可以通過下載量來排序,通過點擊Download欄。
點擊包的名字來選擇最常被下載的包。它會鏈接到Anaconda.org詳情頁顯示下載的具體命令:
檢查被下載的包
conda list通過pip命令來安裝包
對于那些無法通過conda安裝或者從Anaconda.org獲得的包,我們通常可以用pip(“pip install packages”的簡稱)來安裝包。
提示:?pip只是一個包管理器,所以它不能為你管理環境。pip甚至不能升級python,因為它不像conda一樣把python當做包來處理。但是它可以安裝一些conda安裝不了的包,和vice versa(此處不會翻譯)。pip和conda都集成在Anaconda或miniconda里邊。
我們激活我們想放置程序的環境,然后通過pip安裝一個叫“See”的程序。
·Linux,OS X: source activate bunnies ·Windows:activate bunnies 所有平臺: pip install see檢查pip安裝
檢查See是否被安裝:
conda list安裝商業包
安裝商業包與你安裝其他的包的過程異常。舉個例子,讓我們安裝并刪除一個更新的商業包的免費試用 IOPro,可以加速你的python處理速度:
conda install iopro提示:除了學術使用,該版本在30天后試用期滿
你現在可以安裝以及檢查你想用conda安裝的任何包,無論使用conda命令、從Anaconda.org下載或者使用pip安裝,無論開源軟件還是商業包。
5. 移除包、環境、或者conda
如果你愿意的話。讓我們通過移除一個或多個試驗包、環境以及conda來結束這次測試指導。
移除包
假設你決定不再使用商業包IOPro。你可以在bunnies環境中移除它。
conda remove -n bunnies iopro確認包已經被移除
使用conda list命令來確認IOPro已經被移除了
conda list移除環境
我們不再需要snakes環境了,所以輸入以下命令:
conda remove -n snakes --all
確認環境被移除
為了確認snakes環境已經被移除了,輸入以下命令:
conda info --envissnakes不再顯示在環境列表里了,所以我們知道它已經被刪除了
刪除conda
- Linux,OS X:
移除Anaconda 或 Miniconda 安裝文件夾
- Windows:
去控制面板,點擊“添加或刪除程序”,選擇“Python2.7(Anaconda)”或“Python2.7(Miniconda)”并點擊刪除程序。
總結其中的關鍵步驟:
1. Install chainer
2. conda create -n snakes python=3 matplotlib(或者其他報缺的lib)
3.?$ CUDA_PATH=/usr/local/cuda-7.0 pip install chainer
4.Following nvcc
如果還缺NVCC,就嘗試
Firstly, check your original path:
echo $PATHIt should show something like this:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gamesNow add your program to that path, ensuring your using the entire path all the way from / to your program.
export PATH=$PATH:/path/to/my/program (This is the source of NVCC)This sets your PATH variable to the existing PATH plus what you add to the end. Check that it has been added:
echo $PATH http://askubuntu.com/questions/109381/how-to-add-path-of-a-program-to-path-environment-variable
總結
- 上一篇: 怎样清理手机病毒 清理手机病毒的方法
- 下一篇: xorg.conf变更导致开机无法显示