python 文件在 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 脚本,它会切换到 bazel-bin/whatever/sound.runfiles/workspace_name/,这是一个包含你声明的所有脚本/数据依赖的符号链接树。因此,你应该能够使用路径 whatever/raw_sound/file 加载原始音频文件(因为这些是运行文件树下原始文件的路径)。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注