我已经安装了Tensorflow,bazel这两个最新版本。
要从头开始训练模型,我必须在此链接https://github.com/tensorflow/models上运行以下命令:
bazel-bin/inception/imagenet_train --num_gpus=1 --batch_size=32 --train_dir=/tmp/imagenet_train --data_dir=/tmp/imagenet_data
它出错
bazel-bin/inception/image_train: No such file or directory
bazel-bin似乎是文件,而不是目录。
此外,如果尝试转到/ models / inception / inception路径 并尝试运行imagenet_train.py文件,它会抛出一个错误:
command not found error
我不知道为什么它不起作用。我遵循了每一步。这已经困扰了我很久了。
答案 0 :(得分:1)
原始答案:
您必须先构建
imagenet_train
,运行bazel build //inception:imagenet_train
时的输出是什么?
bazel-bin
是指向目录的符号链接。
根据您在下面的评论(~/models#
),您似乎在错误的目录中运行Bazel。在运行cd
之前,您必须bazel
到inception/
目录:
cd inception
/opt/DL/bazel/bin/bazel build //inception:imagenet_train
Tensorflow选择了一个非常奇怪的项目结构:models/
是一个项目,但models
的每个子目录也都是它自己的项目。我不确定他们为什么这样做,但你必须在他们自己的目录中建立子项目(如inception
),而不是顶级目录。
//inception:imagenet_train
被称为目标。 :
之前的所有内容都会告诉您目标的定义位置(inception/目录中的BUILD文件)。 Tensorflow通过将所有内容放在一个名为与其项目相同的子目录中(例如,此目标在~/models/inception/inception/BUILD
中定义),使得这更令人困惑。
imagenet_train
是目标的标识符,您可以看到其定义here。
有关目标的更详细说明,请参阅Bazel的Getting Started文档。