我正在寻找一种解决方案,以解决当我使用来自GoogleDrive的连接时Google Colab上的图像数据集上载速度慢的问题。使用以下代码:
from google.colab import drive
drive.mount('/content/gdrive')
使用此过程,我可以使用我的def load_dataset
上传图像并创建标签:
'train_path=content/gdrive/MyDrive/Capstone/Enviroment/cell_images/train'
train_files, train_targets = load_dataset(train_path)
但是,正如我所说,这非常慢,特别是因为我的完整数据集由27560张图像组成。
为解决我的问题,我尝试使用this solution。
但是现在,为了仍然使用我的def
功能,在下载.tar
文件之后,我想将其提取到colab环境中的特定文件夹中。我找到了this answer,但没有解决我的问题。
示例:
但是我想提取tar文件中的文件,该文件的结构为train/Uninfected
; train/Parasitized
,以获取此信息:
内容
要在def函数中使用路径:
train_path = train_path=content/cell_images/train/'
train_files, train_targets = load_dataset(train_path)
test_path = train_path=content/cell_images/test/'
test_files, test_targets = load_dataset(test_path)
valid_path = train_path=content/cell_images/valid/'
valid_files, valid_targets = load_dataset(valid_path)
我尝试使用:
! mkdir -p content/cell_images
和
!tar -xvf 'test.tar' content/cell_images
但是它不起作用。
有人知道如何进行吗?
谢谢!
答案 0 :(得分:7)
虽然回答迟了,但可能会帮助其他人:
shutil.unpack_archive几乎适用于所有存档格式(例如“ zip”,“ tar”,“ gztar”,“ bztar”,“ xztar”),并且很简单:
import shutil
shutil.unpack_archive("filename", "path_to_extract")
答案 1 :(得分:2)
要将文件从tar归档程序提取到文件夹content/cell_images
,请使用命令行选项-C
:
!tar -xvf test.tar -C content/cell_images
希望这会有所帮助!
答案 2 :(得分:0)
连接到驱动器
来自google.colab导入驱动器 drive.mount('/ content / drive')
检查目录 !ls和!pwd
解压缩 !unzip驱动器/“我的驱动器” /images.zip -d目标
答案 3 :(得分:0)
如果当前目录是默认目录/content
,则可以这样解压缩文件夹项目:
%%bash
mkdir foldername
tar -xvf '/content/foldername.tar' -C '/content/'
%%bash
使您无需在每行开头使用!
即可编写脚本。