在Docker上安装Tensorflow运行mnist_softmax.py

我在Ubuntu 16.04 LTS上安装了Tensorflow(按照此处提供的GPU支持): Tensorflow的Docker安装

用这个命令pipe理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%的testing错误:

 python convolutional.py 

接下来,在https://www.tensorflow.org/versions/r0.11/tutorials/mnist/pros/index.html教程页面,我想尝试mnist_softmax.py。 所以我把tensorflow的软件包克隆到笔记本上:

 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' 

在这一点上,我很无能,不pipe这个错误是由于安装不当引起的,还是因为有些步骤我没有完成。 我的问题:

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

我遇到了同样的问题,这是因为运行的教程代码来自更高版本(例如v0.12),而我的Docker容器(v0.11是我的例子)中的tensorflow的老版本。 同样的问题在这里讨论: https : //github.com/tensorflow/tensorflow/issues/5643

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