Skip to content

Commit

Permalink
[Don't merge now]update_install_doc (PaddlePaddle#643)
Browse files Browse the repository at this point in the history
* update_install_doc

* follow_comments
  • Loading branch information
shanyi15 authored Feb 22, 2019
1 parent 4f20395 commit 790ea16
Show file tree
Hide file tree
Showing 13 changed files with 519 additions and 715 deletions.
100 changes: 39 additions & 61 deletions doc/fluid/beginners_guide/install/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,55 @@
***
<a name="FAQ"></a>

<a name="FAQ"></a>
# **FAQ**
- CentOS6下如何编译python2.7为共享库?


- 报错“nccl.h找不到”

> [安装nccl2](https://developer.nvidia.com/nccl/nccl-download)
- 报错`Cannot uninstall 'six'.`

> 此问题可能与系统中已有Python有关,请使用`pip install paddlepaddle --ignore-installed six`(CPU)或`pip install paddlepaddle --ignore-installed six`(GPU)解决
- CentOS6下如何编译python2.7为共享库?

> 使用以下指令:
./configure --prefix=/usr/local/python2.7 --enable-shared
make && make install

./configure --prefix=/usr/local/python2.7 --enable-shared
make && make install

<!--TODO please add more F&Q parts here-->

- Ubuntu18.04下libidn11找不到?

> 使用以下指令:
apt install libidn11

apt install libidn11

- Ubuntu编译时出现大量的代码段不能识别?

> 这可能是由于cmake版本不匹配造成的,请在gcc的安装目录下使用以下指令:

apt install gcc-4.8 g++-4.8
cp gcc gcc.bak
cp g++ g++.bak
rm gcc
rm g++
ln -s gcc-4.8 gcc
ln -s g++-4.8 g++

- 遇到paddlepaddle.whl is not a supported wheel on this platform?

> 出现这个问题的主要原因是,没有找到和当前系统匹配的paddlepaddle安装包。 请检查Python版本是否为2.7系列。另外最新的pip官方源中的安装包默认是manylinux1标准, 需要使用最新的pip (>9.0.0) 才可以安装。您可以执行以下指令更新您的pip:

- 遇到paddlepaddle*.whl is not a supported wheel on this platform?

> 出现这个问题的主要原因是,没有找到和当前系统匹配的paddlepaddle安装包。 请检查Python版本是否为2.7系列。另外最新的pip官方源中的安装包默认是manylinux1标准, 需要使用最新的pip (>9.0.0) 才可以安装。您可以执行以下指令更新您的pip:

pip install --upgrade pip
或者
python -c "import pip; print(pip.pep425tags.get_supported())"
pip install --upgrade pip
或者

python -c "import pip; print(pip.pep425tags.get_supported())"

> 如果系统支持的是 linux_x86_64 而安装包是 manylinux1_x86_64 ,需要升级pip版本到最新; 如果系统支持 manylinux1_x86_64 而安装包 (本地)是 linux_x86_64, 可以重命名这个whl包为 manylinux1_x86_64 再安装。

- 使用Docker编译出现问题?

> 请参照GitHub上[Issue12079](https://github.com/PaddlePaddle/Paddle/issues/12079)

- 什么是 Docker?

> 如果您没有听说 Docker,可以把它想象为一个类似 virtualenv 的系统,但是虚拟的不仅仅是 Python 的运行环境。

- Docker 还是虚拟机?

> 有人用虚拟机来类比 Docker。需要强调的是:Docker 不会虚拟任何硬件,Docker container 里运行的编译工具实际上都是在本机的 CPU 和操作系统上直接运行的,性能和把编译工具安装在本机运行一样。

- 为什么用 Docker?

> 把工具和配置都安装在一个 Docker image 里可以标准化编译环境。这样如果遇到问题,其他人可以复现问题以便帮助。
另外,对于习惯使用Windows和MacOS的开发者来说,使用Docker就不用配置交叉编译环境了。

- 可以选择不用Docker吗?

> 当然可以。大家可以用把开发工具安装进入 Docker image 一样的方式,把这些工具安装到本机。这篇文档介绍基于 Docker 的开发流程,是因为这个流程比其他方法都更简便。

- 学习 Docker 有多难?

> 理解 Docker 并不难,大概花十分钟看一下[这篇文章](https://zhuanlan.zhihu.com/p/19902938)。
这可以帮您省掉花一小时安装和配置各种开发工具,以及切换机器时需要新安装的辛苦。别忘了 PaddlePaddle 更新可能导致需要新的开发工具。更别提简化问题复现带来的好处了。
> 请参照GitHub上[Issue12079](https://github.com/PaddlePaddle/Paddle/issues/12079)

- 可以用 IDE 吗?

Expand All @@ -81,10 +63,6 @@

> 是的。我们的 Docker image 运行一个 [Bash 脚本](https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/paddle/scripts/paddle_build.sh)。这个脚本调用`make -j$(nproc)` 来启动和 CPU 核一样多的进程来并行编译。

- Docker 需要 sudo?

> 如果用自己的电脑开发,自然也就有管理员权限(sudo)了。如果用公用的电脑开发,需要请管理员安装和配置好 Docker。此外,PaddlePaddle 项目在努力开始支持其他不需要 sudo 的集装箱技术,比如 rkt。

- 在 Windows/MacOS 上编译很慢?

> Docker 在 Windows 和 MacOS 都可以运行。不过实际上是运行在一个 Linux 虚拟机上。可能需要注意给这个虚拟机多分配一些 CPU 和内存,以保证编译高效。具体做法请参考[issue627](https://github.com/PaddlePaddle/Paddle/issues/627)。
Expand All @@ -94,24 +72,24 @@
> 本文中的例子里,`docker run` 命令里都用了 `--rm` 参数,这样保证运行结束之后的 containers 不会保留在磁盘上。可以用 `docker ps -a` 命令看到停止后但是没有删除的 containers。`docker build` 命令有时候会产生一些中间结果,是没有名字的 images,也会占用磁盘。可以参考 [这篇文章](https://zaiste.net/posts/removing_docker_containers) 来清理这些内容。

- 在DockerToolbox下使用book时`http://localhost:8888/`无法打开?

> 需要将localhost替换成虚拟机ip,一般需要在浏览器中输入:`http://192.168.99.100:8888/`

- pip install gpu版本的PaddlePaddle后运行出现SegmentFault如下:

@ 0x7f6c8d214436 paddle::platform::EnforceNotMet::EnforceNotMet()
@ 0x7f6c8dfed666 paddle::platform::GetCUDADeviceCount()

@ 0x7f6c8dfed666 paddle::platform::GetCUDADeviceCount()

@ 0x7f6c8d2b93b6 paddle::framework::InitDevices()


> 出现这个问题原因主要是由于您的显卡驱动低于对应CUDA版本的要求,请保证您的显卡驱动支持所使用的CUDA版本


<a name="MACPRO"></a>

- MacOS下安装PaddlePaddle后import paddle.fluid出现`Fatal Python error: PyThreadState_Get: no current thread running`错误
<a name="MACPRO"></a>

- MacOS下安装PaddlePaddle后import paddle.fluid出现`Fatal Python error: PyThreadState_Get: no current thread running`错误

- For Python2.7.x (install by brew): 请使用`export LD_LIBRARY_PATH=/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7 && export DYLD_LIBRARY_PATH=/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7`
- For Python2.7.x (install by Python.org): 请使用`export LD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7 && export DYLD_LIBRARY_PATH=/Library/Frameworks/Python.framework/Versions/2.7`
Expand All @@ -120,11 +98,11 @@
<a name="OPENBLAS"></a>

- MACOS下使用自定义的openblas 详见issue:

> [ISSUE 13217](https://github.com/PaddlePaddle/Paddle/issues/13721)

- 已经安装swig但是仍旧出现swig找不到的问题 详见issue:

> [ISSUE 13759](https://github.com/PaddlePaddle/Paddle/issues/13759)

- 出现 “target pattern contain no '%'.”的问题 详见issue:
Expand Down
33 changes: 0 additions & 33 deletions doc/fluid/beginners_guide/install/Tables.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,40 +324,7 @@ PaddePaddle通过编译时指定路径来实现引用各种BLAS/CUDA/cuDNN库。
您可以在 [Release History](https://pypi.org/project/paddlepaddle-gpu/#history) 中找到PaddlePaddle-gpu的各个发行版本。

***
<a name="dockers"></a>
</br></br>
## **安装镜像表及简介**
<p align="center">
<table>
<thead>
<tr>
<th> 版本号 </th>
<th> 版本说明 </th>
</tr>
</thead>
<tbody>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:latest </td>
<td> 最新的预先安装好PaddlePaddle CPU版本的镜像 </td>
</tr>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:latest-dev </td>
<td> 最新的PaddlePaddle的开发环境 </td>
</tr>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:[Version] </td>
<td> 将version换成具体的版本,历史版本的预安装好PaddlePaddle的镜像 </td>
</tr>
<tr>
<td> hub.baidubce.com/paddlepaddle/paddle:latest-gpu </td>
<td> 最新的预先安装好PaddlePaddle GPU版本的镜像 </td>
</tr>
</tbody>
</table>
</p>


您可以在 [DockerHub](https://hub.docker.com/r/paddlepaddle/paddle/tags/) 中找到PaddlePaddle的各个发行的版本的docker镜像。

***

Expand Down
Loading

0 comments on commit 790ea16

Please sign in to comment.