我在从 Google 托管的存储桶中读取数据时遇到问题。 我有一个存储桶,其中包含我需要访问的约 1000 个文件,保存在(例如) gs://我的桶/数据
从命令行或其他 Google 的 Python API 客户端使用 gsutil 我可以访问存储桶中的数据,但是默认情况下 google-cloud-ml-engine 不支持导入这些 API。
我需要一种方法来访问数据和文件名,使用默认的 python 库(即 os)或使用 tensorflow。我知道 tensorflow 在某个地方内置了这个功能,我很难找到
理想情况下,我正在寻找一个命令的替代品,例如 os.listdir() 和另一个 open()
train_data = [read_training_data(filename) for filename in os.listdir('gs://my-bucket/data/')]
其中 read_training_data 使用 tensorflow 读取器对象
感谢您的帮助! (另附:我的数据是二进制的)
最佳答案
如果你只想将数据读入内存,那么this answer有您需要的详细信息,即使用 file_io模块。
也就是说,您可能需要考虑使用 TensorFlow 的内置读取机制,因为它们的性能更高。
阅读资料可查here .最新最好的(但还不是官方“核心”TensorFlow 的一部分)是数据集 API(更多信息 here)。
注意事项:
- 您使用的是 TensorFlow 可以读取的格式吗?可以转换成那种格式吗?
- “喂食”的开销是否高到足以影响训练效果?
- 训练集是否太大而无法放入内存?
如果一个或多个问题的答案是肯定的,尤其是后两个问题,请考虑使用阅读器。
关于python - 从 Google ml-engine (tensorflow) 中的存储桶中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46309161/