我正在尝试在Docker集群上从github运行一个仓库,即this,我需要运行以下命令:
THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32 python -u ...
但是我每次都会收到此错误:
stdbuf: failed to run command 'THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32': No such file or directory
我对Linux比较陌生,无法解决。当我在计算机上运行时,没有任何问题。
我有一个建议使用python 2.7和theano 0.8的docker
答案 0 :(得分:0)
这是因为这不是命令。你有任何文件吗?
答案 1 :(得分:0)
这不是命令,这是环境设置。您可以在运行命令之前设置变量。
即:
var=1 echo "$var"
要运行的命令是python
。使用python2获取一个泊坞窗。
THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32 python -u models/three_tier/three_tier.py --exp BEST_3TIER --seq_len 512 --big_frame_size 8 --frame_size 2 --emb_size 256 --skip_conn False --dim 1024 --n_rnn 1 --rnn_type GRU --q_levels 256 --q_type linear --batch_size 128 --weight_norm True --learn_h0 True --which_set MUSIC
环境变量由外壳程序设置和导出。要将其作为docker
的oneliner运行,您必须首先运行shell并将相关信息传递给它。另外,请注意Docker映像的ENTRYPOINT,如有需要,请覆盖它。
docker run some_image sh -c 'THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32 python -u models/three_tier/three_tier.py --exp BEST_3TIER --seq_len 512 --big_frame_size 8 --frame_size 2 --emb_size 256 --skip_conn False --dim 1024 --n_rnn 1 --rnn_type GRU --q_levels 256 --q_type linear --batch_size 128 --weight_norm True --learn_h0 True --which_set MUSIC'
这首先运行外壳程序sh
。然后sh
导出变量THEANO_FLAGS
,其值为mode=FAST_RUN,device=gpu0,floatX=float32
(整行是变量的值)。然后,它将其余行作为python
程序的参数,调用$PATH
命令(在python
中搜索)。
或者(也许更干净),您可以使用docker
的{{1}}选项,甚至可以将-e
添加到dockerfile中:
ENV