首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为云ML引擎打包词汇表文件

如何为云ML引擎打包词汇表文件
EN

Stack Overflow用户
提问于 2017-08-11 18:14:08
回答 1查看 233关注 0票数 1

我有一个.txt文件,它在每一行上都包含一个不同的标签。我使用这个文件创建一个标签索引查找文件,例如:

代码语言:javascript
复制
label_index = tf.contrib.lookup.index_table_from_file(vocabulary_file = 'labels.txt'

我想知道我应该如何用我的云ml引擎来打包词汇表文件?包装建议在如何设置.py文件方面非常明确,但我不完全确定应该将相关的.txt文件放在哪里。它们是否应该被存放在一个存储桶中(即。//)引擎可以访问,或者它们是否可以与培训师一起打包?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 19:39:54

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

但是,如果您愿意,也可以将文件打包到您的setup.py中。有多种方法可以做到这一点,因此我将向您介绍官方设置工具文档

让我举一个简单的例子:

在您的培训包下面的目录中创建一个setup.py (在CloudML Engine的示例中通常称为trainer,所以我将继续处理,就像您的代码是与示例一样的,包括使用trainer作为包)。下面是基于您引用的文档进行的一个重要更改,即package_data参数,而不是include_package_data

代码语言:javascript
复制
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中。

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

代码语言:javascript
复制
from pkg_resources import Requirement, resource_filename
resource_filename(Requirement.parse('trainer'),'labels.txt')

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45641474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档