gpt4 book ai didi

python - 如何为 Cloud ML Engine 打包词汇文件

转载 作者:行者123 更新时间:2023-12-01 02:41:47 25 4
gpt4 key购买 nike

我有一个 .txt 文件,其中每行包含不同的标签。我使用此文件创建标签索引查找文件,例如:

label_index = tf.contrib.lookup.index_table_from_file(vocabulary_file = 'labels.txt'

我想知道如何使用我的云机器学习引擎打包词汇文件? packaging suggestions明确如何设置 .py 文件,但我不完全确定应该将相关 .txt 文件放在哪里。它们是否应该托管在引擎可以访问的存储桶(即 gs://)中,还是可以以某种方式与训练器打包在一起?

最佳答案

您有多种选择。我认为最简单的方法是将 labels.txt 存储在 GCS 位置。

但是,如果您愿意,也可以将该文件打包到 setup.py 中。有多种方法可以做到这一点,因此我将向您推荐official setuptools documentation .

让我看一个简单的例子:

在训练包下面的目录中创建一个 setup.py(在 CloudML Engine 的示例中通常称为 trainer,因此我将继续操作,就好像您的代码是结构化的一样)与示例相同,包括使用 trainer 作为包)。以下根据docs您引用了一项重要更改,即 package_data 参数而不是 include_package_data:

from setuptools import find_packages
from setuptools import setup

setup(
name='my_model',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
package_data={'trainer': ['labels.txt']},
description='My trainer application package.'
)

如果您运行 python setup.py sdist,您可以看到 trainer/labels.txt 已复制到 tarball 中。

然后在您的代码中,您可以像这样访问该文件:

from pkg_resources import Requirement, resource_filename
resource_filename(Requirement.parse('trainer'),'labels.txt')

请注意,要在本地运行此代码,您必须安装软件包:python setup.py install [--user]

这就是我认为将文件存储在 GCS 上可能更容易的主要原因。

关于python - 如何为 Cloud ML Engine 打包词汇文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45641474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com