python - 从 Google ml-engine (tensorflow) 中的存储桶中读取数据

标签 python tensorflow google-cloud-ml-engine

我在从 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/

相关文章:

读取文件的生成器上的 Python 多处理

c++ - 检查失败 : GetOpGradFactory()->insert({op, func}).second MapAccumulate 的重复梯度

python - 将自定义损失添加到 eval_metric_ops

python - 谷歌云机器学习引擎 "Skipping evaluation due to same checkpoint"

python - 在计算正常样本落在 python 中某个区间内的概率的对数时防止下溢

python - 使用 numpy 循环遍历不同数量的矩阵

python - 如何将 Celery 配置为使用不同的 BROKER_URL 来从同一代理进行生产和消费?

python - DropoutWrapper 在运行中是不确定的?

tensorflow - 使用种子预处理层不会为图像和蒙版产生相同的数据增强

machine-learning - Tensorflow、谷歌云 ML : how to use previous checkpoint to train new images?