我正在使用keras进行培训。整个代码在计算上很繁琐,应该对其进行训练的图像数量大约为30GB。训练图像存储在Google存储器中。我已经为我的训练脚本创建了一个docker容器,并且每个容器都按照计划运行良好。我注意到,映像已被复制到正在分配的VM中,并且将映像从Google存储设备复制到培训工作大约需要1个半小时。这增加了培训时间,因此不适合我,因为每周图像数量至少增长1GB。我以前曾从事过AWS培训工作,这使我可以选择将文件从S3传输到Sagemaker培训工作,其中输入可以“传递”到培训工作中。谷歌云中是否有类似的服务,或者有比将所有文件都复制到分配给培训工作的虚拟机更好的解决方案?
答案 0 :(得分:-1)
我将此评论与我在评论部分共享的所有信息一起发布。
根据文档,建议使用 gcloud软件包 上传您的应用程序。在此link中,您可以找到有关定义系统环境变量以及提交培训工作的更多信息。
关于您对Cloud FUSE的评论,它是一个开源适配器,允许您将 Cloud Storage Buckets 作为文件系统挂载在 Linux 或上MacOS 。因此,应用程序可以像在简单文件系统中一样与已安装的存储桶进行交互,如果在云中运行,则可以提供几乎无限的存储。但是,您不建议这样做,因为它的延迟比本地文件系统高得多。因此,也不建议在 Cloud Storage FUSE 上运行数据库,您可以详细了解其限制here。
由于您报告说问题出在培训时间上。我建议您使用自定义层来训练模型,从而增加工作人员的数量。因此,该作业将运行得更快。另外,您可以使用documentation中所述的预配置层。
作为奖励信息,在训练模型时,请考虑在 批量预测 上使用 在线预测 。即使在两种情况下都将数据传递给云托管的ML模型,在线预测也经过优化以最大程度地减少结果的延迟。除此之外,根据documentation,批处理预测可能需要几分钟,而在线预测可以几乎立即返回结果。