在使用Docker

时间:2016-11-07 14:43:35

标签: python linux docker tensorflow

我按照此处给出的教程(支持GPU)在Ubuntu 16.04 LTS上安装了Tensorflow:Docker Installation for Tensorflow

使用此命令管理运行docker:

nvidia-docker run -it -p 8888:8888 -v /home/myusername/notebooks:/notebooks gcr.io/tensorflow/tensorflow:latest-gpu 

docker exec -it [my_DOCKER_ID] bash

一旦我成功进入docker bash,我发现这里有tensorflow目录:

cd /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist/

我继续尝试示例代码并成功达到0.8%的测试错误:

python convolutional.py

接下来,在https://www.tensorflow.org/versions/r0.11/tutorials/mnist/pros/index.html教程页面之后,我想尝试mnist_softmax.py。所以我将tensorflow的包克隆到/ notebooks:

cd /notebooks
git clone https://githubcom/tensorflow/tensorflow.git

但是,我在运行代码时遇到了问题:

cd tensorflow/tensorflow/examples/tutorials/mnist/

python mnist_softmax.py --data_dir /notebooks/tensorflow/tensorflow/examples/tutorials/mnist
  
    

追踪(最近一次呼叫最后一次):

File "mnist_softmax.py", line 78, in <module>

  tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)

TypeError: run() got an unexpected keyword argument 'argv'
  

此时我很不清楚错误是由错误的安装引起的,还是因为我没有完成的步骤。我的问题:

  1. 我的安装完成了吗?我以为我有一个干净的安装知道我可以运行docker并进入docker bash。另外,我设法运行了convolution.py
  2. 如果我正确理解Docker,我根本不需要克隆和构建tensorflow包吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,这是因为我的docker容器(在我的情况下为v0.11)中运行了较旧版本的tensorflow,从更高版本(例如v0.12)运行教程代码。 这里讨论了同样的问题:https://github.com/tensorflow/tensorflow/issues/5643

app.run()方法在v0.12之前没有argv参数。