在对Azure感到失望之后,我决定尝试GCP。我想尝试使用GCP训练一个深度学习图像分类模型。首先,我通过Google Cloud Console UI进入Cloud Storage,制作了一个bucket来上传我的图片……当我试图上传我的图片文件夹时它卡住了。这可不是一次好的初次体验。
我已经试了六次了。我总是看到一个小弹出框"上传开始"但随后就冻结了。如果我关闭它并重新打开,bucket将创建文件夹并下载3张左右的图像,但即使我让它运行一整晚,它也不会取得任何进展。它只是停止上传,变得没有响应。我总共有38,000张图片,我要上传的文件夹大小是2.5 GB。
没有错误消息,当我重新加载时,除了只有3个左右的图像下载之外,没有任何错误的迹象。我电脑上的其他东西都死机了。如果我在浏览器中打开了其他选项卡,它们不会冻结。带有Google控制台的选项卡只是无声地冻结。我尝试数据传输将文件直接从Azure Blob存储移动到谷歌,但Azure不会给谷歌访问存储的权限。
有人能推荐一个可能的解决方法吗?我应该用别的方式上传文件吗?
是否可以通过浏览器内控制台上传大量文件似乎有点零星。在我的特殊情况下,尝试一次上传一个大文件夹(不是文件夹中的大文件,而是文件夹中的大量文件)会导致浏览器冻结,这是由于GCP的云存储和AWS的S3中的内存问题,当我试图通过他们的浏览器门户上传它时。我在Windows 10、Linux Mint上都试过了,在Google Chrome和Firefox上也试过了,但都没有效果。
一些GCP和AWS用户报告当文件夹中的文件数量很大时出现冻结或崩溃,但当文件夹本身的大小很大时则不一定。这正是我的经验——我可以通过Cloud Console上传一个大文件或一个有几百个文件的文件夹,但不能上传一个有几千个文件的文件夹。
我发现的唯一稳定的解决方案是放弃并放弃尝试通过浏览器门户在文件夹中上传大量文件,而是通过CLI上传。这不是我所希望的解决办法,但这是我找到的唯一办法。
编辑:
由于某种原因,这个正确的(也是唯一有效的)解决方案被否决了,
查看Kainax对遇到此问题的多个AWS用户的回答的评论。
关于我在GCP中遇到的相同问题,请参阅此问题的问答。
由于这是一个问题而不是一个特性,所以没有关于它的官方文档。
无论是我还是其他人都无法通过云控制台解决这个问题,这已经是一些用户多年来反复出现的问题。唯一明确的解决方法是在上传包含大量文件的文件夹时完全避免使用控制台UI。
尝试重新创建2G+大小的映像文件夹,并使用控制台将其上传到bucket上。下面的步骤是我这边的工作。
- 创建最高2G+
- 云存储浏览器>选择桶
- 上传文件夹>选择文件夹>上传
- 打开/关闭在桶详情页面显示已删除的数据
- 通过gsutil命令在Cloud Shell上验证
gsutil ls
gsutil du -h -a gs://$BUCKETNAME
gsutil ls gs://$BUCKETNAME/* | wc -l
刚上传时,出现不响应的弹出框。尝试打开新标签,并尝试在控制台上检查我的桶。此外,在检查桶上的文件夹时,我只能看到3个文件。我给了它一些时间大约15分钟,并尝试刷新文件夹上的3个文件。在上尝试和从the显示删除的数据(Bucket Details的中右部分)和一些文件正在显示。我给它多一点时间,比如30 - 45分钟,它就完成了。
==> standard input <==
3.02 KiB gs://testupload/testimage/download (992).jpeg#1651637939860508
3.02 KiB gs://testupload/testimage/download (993).jpeg#1651637579558398
3.02 KiB gs://testupload/testimage/download (994).jpeg#1651637761564156
3.02 KiB gs://testupload/testimage/download (995).jpeg#1651637080592200
3.02 KiB gs://testupload/testimage/download (996).jpeg#1651637475578587
3.02 KiB gs://testupload/testimage/download (997).jpeg#1651637634800927
3.02 KiB gs://testupload/testimage/download (998).jpeg#1651637897219133
3.02 KiB gs://testupload/testimage/download (999).jpeg#1651638427607588
3.02 KiB gs://testupload/testimage/download.jpeg#1651636931991159
2.26 GiB gs://testupload/testimage/
XXXXXXXXX@cloudshell:~ (XXXXXXX)$ gsutil ls gs://testupload/* | wc -l
4564
源文件图像
上传文件到控制台
由于某种原因,随着文件一起上传的文件夹被冻结了。因此,我创建了一个文件夹,并将所有文件上传到该文件夹中。它起作用了!