python 文件未读取 bazel 中的文件夹

python file not reading folder in bazel

嘿,我写了一个 python 神经网络,它使用文件夹中的原始文件进行训练,使用 tensorflow 我已经能够使用 python 脚本和文件夹构建二进制文件包含保存在 bazel-bin/.... 中的原始数据 我遇到的问题是,当我 运行 bazel-bin/... 训练模型时,我的 python 脚本没有从文件夹中读取原始数据。

这是我的 BUILD 文件的样子,其中 raw_sound 是我从中导入声音文件的文件夹。

py_binary(
    name = "sound",
    srcs_version = "PY3",
    srcs = [
        "sound.py",
    ],
    deps = [
        "@org_tensorflow//tensorflow:tensorflow_py",
        "@org_tensorflow//tensorflow/python/saved_model:builder",
        "@org_tensorflow//tensorflow/python/saved_model:constants",
        "@org_tensorflow//tensorflow/python/saved_model:loader",
        "@org_tensorflow//tensorflow/python/saved_model:signature_constants",
        "@org_tensorflow//tensorflow/python/saved_model:signature_def_utils",
        "@org_tensorflow//tensorflow/python/saved_model:tag_constants",
        "@org_tensorflow//tensorflow/python/saved_model:utils",
    ],
    data = glob(["raw_sound/**"]),
)

您从中加载数据的路径是什么样的?

当您使用 Bazel 创建二进制文件时,bazel-bin/whatever/sound 实际上是一个 shell 脚本,cd 到 bazel-bin/whatever/sound.runfiles/workspace_name/,这是一个包含所有 scripts/data 依赖项的符号链接树已经宣布。所以你应该能够使用路径 whatever/raw_sound/file 加载原始声音文件(因为这些是到运行文件树下的原始文件)。