如何将文件从 Google AI 平台训练作业传输到我的其他计算实例或本地计算机?



在Google AI平台中训练后,我如何将一些文件(主要是Tensorflow模型)自动发送到另一个计算实例或我的本地机器吗?例如,我想在我的教练中运行这样的os.system(scp -r ./file1 user@host:/path/to/folder).当然,我不需要使用 scp。这只是一个例子。谷歌有这种可能性吗?像这样将文件从工作传输到Google云存储没有问题os.system('gsutil cp ./example_file gs://my_bucket/path/')。但是,例如,当我尝试将数据从我的AI平台工作传输到另一个实例时,os.system('gcloud compute scp ./example_file my_instance:/path/'),我Your platform does not support SSH。任何想法我该怎么做?

更新也许有可能从所选文件夹中的谷歌云存储中自动下载所有文件?因此,例如,我会将数据从我的作业实例上传到 google 云存储文件夹,我的另一个实例会自动检测更改并下载所有新文件?

UPDATE2我找到了gsutil rsync但我不确定它是否可以在后台持续运行?在这一点上,我想到的唯一解决方案是在后端使用 cron 作业并运行gsutil rsync例如每 10 分钟运行一次。但似乎不是最佳解决方案。也许有一个内置工具或其他更好的主意?

rsync命令通过复制任何丢失的文件/对象(或其数据已更改的文件/对象)和(如果指定了 -d 选项)删除任何额外的文件/对象,使目标下的内容与源下的内容相同。 源必须指定目录、存储桶或存储桶子目录。但它的命令不会在后台运行。

请记住,您使用的笔记本实际上是一个运行 JupyterLab 的 VM,基于此,您可以在 Tensorflow 完成后运行命令rsync创建文件并将其与另一个实例中的目录同步,尝试如下内容:

import os
os.system("rsync -avrz Tensorflow/outputs/filename root@ip:Tensorflow/otputs/file")

我建议您查看rsync文档以了解使用该命令的所有可用选项。

最新更新