Closed sandycs closed 6 years ago
我猜测可能是EXEC不认识py文件。所以不会执行 如果使用这个命令: docker run -it -v /g/Paddle/paddle/build/test:/work paddle:dev python /work/test.py 则会报错:
Traceback (most recent call last): File "/work/test.py", line 2, in
import paddle.v2 as paddle ImportError: No module named paddle.v2
No module named paddle.v2
你可以修改test.py,里面只有一句话import paddle
,看是不是正确。
另外,您为什么要自己做paddle的镜像呢?我们有镜像可以直接跑的。
都是看你们教程。。。
故障依旧:
Traceback (most recent call last):
File "/work/test.py", line 1, in
你们的教程是这样的: 1、先搭开发环境 2、搭生产环境
教程地址:http://doc.paddlepaddle.org/develop/doc_cn/howto/dev/build_cn.html 所以我的步骤是这样的: 1、docker build -t paddle:dev . 2、docker run --rm -v $PWD:/paddle paddle:dev
我理解第一步就是搭开发环境? 第二步就是编译啊。哪个镜像可以直接跑?
您参考下:http://doc.paddlepaddle.org/develop/doc_cn/getstarted/build_and_install/docker_install_cn.html
您贴的是如何进行开发,上面那个链接可以直接pull镜像,然后跑。
别这样。我上个环境整了3天才断断续续下载好。。重新来一遍我可能要疯掉 帮我解决下我这个问题好吗。。
使用生产镜像跑book下的例子,非常简单。
docker pull paddlepaddle/paddle:latest
git clone https://github.com/PaddlePaddle/book.git
cd book
docker run -it --rm -v $(pwd):/book paddlepaddle/paddle:latest /bin/bash
进入容器内:
cd 01.fit_a_line
python train.py
我刚才去运行docker build -t paddle:prod -f build/Dockerfile ./build这个了 貌似又是一次长征 等长征完了再看看
@luotao1 亲爱的 始终停留在:3252b16abf4a: Retrying in 1 second 已经快要5个小时了。。一直不动。网络正常,GREATWALL也能翻
你是按照我的命令来跑的么?
3252b16abf4a: Retrying in 1 second
这个提示一般都是docker pull layer下不来。如果你翻 GREATWALL
的方法是 export http_proxy
应该是对docker不生效的,需要docker daemon可以出去才行。参考:https://stackoverflow.com/questions/23111631/cannot-download-docker-images-behind-a-proxy
执行的这句 docker pull paddlepaddle/paddle:latest
@typhoonzero 谢谢。我用的是shadowsocks。不用设置PROXY,直接可以访问。 我也登录到docker上ping过,跨越GREATWALL没有障碍 跑了一晚上 今天早上看了下:
latest: Pulling from paddlepaddle/paddle aafe6b5e13de: Downloading [==================================================>] 46.79MB/46.79MB 0a2b43a72660: Pulling fs layer 18bdd1e546d2: Download complete 8198342c3e05: Download complete f56970a44fd4: Download complete 2fed150c3992: Download complete 32e6301d2455: Downloading [==================================================>] 418.2MB/418.2MB 40eb58d04d09: Download complete 35be7e7e5168: Download complete unexpected EOF
打算再跑一次
汇报下新情况 @luotao1 跑了一早上。如今还停在:
latest: Pulling from paddlepaddle/paddle f5c64a3438f6: Pull complete 3b61febd4aef: Pull complete 9d99b9777eb0: Pull complete d010c8cf75d7: Pull complete 39a8dd7b3706: Downloading [====================> ] 178.9MB/428.9MB 75458f46d6c3: Retrying in 1 second 39a8dd7b3706: Downloading [=========> ] 78.38MB/428.9MB 6f8f3b44185b: Download complete 3bcf5bf63d9d: Download complete cc184c0686a8: Download complete
还是网络的问题吧,试下 docker pull docker.paddlepaddle.org/paddlepaddle/paddle
谢谢楼上解决了。
新的问题出现了。运行 python train.py 报错:Illegal instruction 跟踪语句发现。错误出现在这一句: paddle.init(use_gpu=with_gpu, trainer_count=1) 我猜测可能是因为我的GPU不支持? 所以改为 paddle.init(use_gpu='0', trainer_count=1) 问题依旧,我猜可能use_gpu是整形的? 又改为 paddle.init(use_gpu=0, trainer_count=1) 问题依旧
感谢 @typhoonzero @luotao1 两位大神。 我感觉已经马上就要解决了,烦请再帮忙下带小弟过这个门槛 一路走来真是不容易
说实话真的搞得有点乱了。。。 一会儿dev一会儿lateest。分不清楚 光是安装编译的文档就有3个,又不是完全一样。 作为初学者确实很懵逼
刚才搜了下FAQ,里面说我这个问题是我选择了错误的二进制版本。 但是我是按照 @luotao1 的指令来的啊?
docker pull paddlepaddle/paddle:latest (这一句我改为了docker pull docker.paddlepaddle.org/paddlepaddle/paddle:latest) git clone https://github.com/PaddlePaddle/book.git cd book docker run -it --rm -v $(pwd):/book paddlepaddle/paddle:latest /bin/bash
docker images看下。 如果换了docker.paddlepaddle.org/paddlepaddle/paddle:latest 就要使用docker run -it --rm -v $(pwd):/book docker.paddlepaddle.org/paddlepaddle/paddle:latest /bin/bash
谢谢 @luotao1 我今天用的是这样的步骤。全部如下:
> G:\Paddle\paddle\book>docker pull docker.paddlepaddle.org/paddle:0.10.0
0.10.0: Pulling from paddle
cf0a75889057: Pull complete
c8de9902faf0: Pull complete
a3c0f7711c5e: Pull complete
e6391432e12c: Pull complete
624ce029a17f: Pull complete
6e38187056d6: Pull complete
6a63c6172eed: Pull complete
383a2a9d6698: Pull complete
Digest: sha256:3d59e3e6dc5048a41e54bd0450075b4f2a186ac10911195f7219a375254c9dd5
Status: Downloaded newer image for docker.paddlepaddle.org/paddle:0.10.0
> G:\Paddle\paddle\book>docker images
> REPOSITORY TAG IMAGE ID CREATED SIZE
> paddle dev f05cac1b1ce9 3 days ago 4.25GB
> nvidia/cuda 8.0-cudnn5-devel-ubuntu16.04 00b49fe86853 12 days ago 1.84GB
> docker.paddlepaddle.org/paddle 0.10.0 efb209ef9426 5 months ago 749MB
> d4w/nsenter latest 9e4f13a0901e 13 months ago 83.8kB
> G:\Paddle\paddle\book>docker run -it --rm -v /g/Paddle/paddle/book:/book docker.paddlepaddle.org/paddle:0.10.0 /bin/bash
> root@f72bb774223e:/# cd book
> root@f72bb774223e:/book# cd 01.fit_a_line/
> root@f72bb774223e:/book/01.fit_a_line# dir
> README.cn.md README.md image index.cn.html index.html train.py
> root@f72bb774223e:/book/01.fit_a_line# python train.py
> Illegal instruction
> root@f72bb774223e:/book/01.fit_a_line#
如上,报错:Illegal instruction
Illegal instruction
是不是你的docker版本有问题呀,你可以上网搜下,paddle报错不是这样的。
@luotao1 这是执行了python train.py的报错。严格来说是python的报错啊,和docker无关 错误在执行这一句 paddle.init(use_gpu=with_gpu, trainer_count=1)
docker本身没有报错。这个Illegal instruction我记得你放在FAQ里有啊 但是那个解决方案好像不能奏效
with_gpu是true还是false呢
我的语句就这么多啊。没有赋值WITH_GPU docker pull docker.paddlepaddle.org/paddle:latest git clone https://github.com/PaddlePaddle/book.git cd book docker run -it --rm -v $(pwd):/book docker.paddlepaddle.org/paddle:latest /bin/bash 然后 cd 01.fit_a_line python train.py
@luotao1 确认了下不支持AVX... 那么我用这个语句好像就不行了: docker pull docker.paddlepaddle.org/paddle:0.10.0-noavx
我看到这边有这么一句话: 注:在0.10.0之后的版本,PaddlePaddle都可以自动判断硬件是否支持AVX,所以无需判断AVX即可使用 虽然我的CPU不支持。但是。。。直接latest的照理来说也应该可以?
请问这句话,您是从哪儿看到的呢?
@sandycs 可否使用docker.paddlepaddle.org/paddle:0.10.0-noavx
确认一下是否AVX的问题呢?
另外可以用gdb看下core dump的堆栈信息吗?
@Yancey1989 你好。
docker.paddlepaddle.org/paddle:0.10.0-noavx 这个会提示不存在。我预计是docker.paddlepaddle.org没有NOAVX版本的镜像
@luotao1 我问题还是没解决啊。。哭死了
docker.paddlepaddle.org/paddle:0.10.0rc3-noavx
感谢 @luotao1 。终于让我往前走了一步。 不过book的第一个train.py还是没有能运行起来。报错如下:
python train.py I1110 01:18:01.401505 17 Util.cpp:166] commandline: --use_gpu=False --trainer_count=1 Traceback (most recent call last): File "train.py", line 83, in
main() File "train.py", line 16, in main cost = paddle.layer.square_error_cost(input=y_predict, label=y) AttributeError: 'module' object has no attribute 'square_error_cost'
问题好像是说没有找到:square_error_cost
这个问题是因为之前之前将 mse_cost 重命名为 square_error_cost,可见此 PR https://github.com/PaddlePaddle/Paddle/pull/3845 和与PR相关的issue。如果不想再更新相关的代码,我觉得可以将 16 行的 :
cost = paddle.layer.square_error_cost(input=y_predict, label=y)
替换为:
cost = paddle.layer.mse_cost(input=y_predict, label=y)
试试看。
@lcy-seso 还是报错 serialize_for_inference 找不到。 我搜了下。还是因为版本问题
这样下去不是办法。我可以去PULL一个新版本。问题是怎么PULL到最新的NO-AVX版本呢? 目前RC3是不是最新的? 我指的是:docker.paddlepaddle.org下的
能请 @Yancey1989 发布一个最新的no-avx版本么?
@Yancey1989 请帮忙!
好的,正在build,稍后会push到registry server上。
貌似develop分支的代码有些问题,https://github.com/PaddlePaddle/Paddle/issues/5535 ,还请再稍等下。
Hi @sandycs @luotao1 已push到了registry server上
docker pull docker.paddlepaddle.org/paddle:latest-noavx
谢谢楼上的大兄弟。有问题我再来汇报
py文件用的是线性回归的测试案例 执行语句: docker run -it -v /g/Paddle/paddle/build/test:/work paddle:dev /work/test.py 报错: standard_init_linux.go:185: exec user process caused "exec format error" 这个不知道是啥缘故引起的
系统环境: 1、建立了docker镜像; 2、用WITH_GPU=OFF,WITH_AVX=OFF,WITH_TEST=ON 编译了系统; 运行结果如下:
系统是WIN10 文档里说到这个语句运行单元测试: docker run -it -v $(pwd):/paddle paddle:dev bash -c "cd /paddle/build && ctest"
我运行的结果是:
ctest [options]