华为云-ModelArts-OBS 压缩文件处理

华为云-ModelArts-OBS 压缩文件处理

    • OBS Browser+ 上传文件
    • ModelArts
    • 详细说明

所有操作均在window 下

在使用GOT-10k数据集时,由于训练集太大,所以下载了OBS Browser+,但是存在一个小问题,由于文件太多,将训练集解压后上传,速度太慢,故将训练集的压缩包上传到OBS Browser+,再使用ModelArts的notebook,将其解压,重新上传至OBS,速度要快很多。

OBS Browser+ 上传文件

创建,新建文件夹,将训练数据集(压缩包)进行上传。
此时路径为:obs://got/GOT-10k/train_data
华为云-ModelArts-OBS 压缩文件处理_第1张图片
上传完成后如图所示。桶配置选择默认。

ModelArts

  • 打开MdelArts,通过左侧菜单栏,选择开发环境,点击Notebook,创建一个新的Notebook,由于这里只进行数据解压,就选择一个最便宜的CPU:2核 8GB即可,但存储空间尽可能选大点,由于进行数据转存。我的训练集在68.9GB,我使用了200GB的存储。
    华为云-ModelArts-OBS 压缩文件处理_第2张图片
  • 创建完成后,打开Notebook,输入以下代码即可实现,解压缩再上转至OBS的操作。
    华为云-ModelArts-OBS 压缩文件处理_第3张图片

详细说明

实现的思路为1:

  1. 将OBS中的压缩文件下载在当前文件夹中
  2. 解压
  3. 将解压后的文件上传到obs中
import moxing as mox
import os
#将obs中的文件下载在当前文件夹中
mox.file.copy_parallel('obs://got/GOT-10k/train_data/', 'train_data')

这里的obs://got/GoT-10k/train_data/就是第一步中上传文件的地址,
train_data为本地的文件夹,需要在左侧文件区域新建。

tar_path = 'train/'
zip_head = 'train_data/G0T-10k_Train_split_'
for i inrange(1, 20):
	if i >= 10:
		zip_path = zip_head + str(i) + '.zip'
	else:
		zip_path = zip_head + '0' + str(i) + '.zip'
	print(zip_path)
	command = 'unzip -d {} {}'.format(tar_path,zip_path) #解压目录 压缩包地址
os.system(command)

由于我的训练集中有19个压缩包,所以分别对其进行解压,将其解压到本地文件夹tar_path = 'train/'中。

 #将当前的已解压好的文件上传到obs
 mox.file.copy_parallel('train', 'obs://got/GOT-10k/train')

将解压后的文件上传到OBS的train文件夹中,至此全部结束。
可以将obs的压缩包文件进行删除了。

你可能感兴趣的:(python,开发语言,华为云)