14

当我使用来自 GoogleDrive 的连接时,我正在寻找一种解决方案来解决 google colab 上图像数据集上传速度缓慢的问题。使用以下代码:

from google.colab import drive

drive.mount('/content/gdrive')

使用此过程,我可以使用 my 上传图像并创建标签def load_dataset

'train_path=content/gdrive/MyDrive/Capstone/Enviroment/cell_images/train'

train_files, train_targets = load_dataset(train_path)

但是,正如我所说,它非常慢,特别是因为我的完整数据集由 27560 张图像组成。

为了解决我的问题,我尝试使用此解决方案

但是现在,为了仍然使用我的def功能,下载.tar文件后,我想在 colab 环境中的特定文件夹中提取文件。我找到了这个答案,但没有解决我的问题。

例子:

这是已经下载了 test.tar 的环境。 在此处输入图像描述

但我想提取tar文件中的文件,结构是train/Uninfectedtrain/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

但它不起作用。

有谁知道如何进行?

谢谢!

4

5 回答 5

17

要将文件从 tar 存档器提取到文件夹,请content/cell_images使用命令行选项-C

!tar -xvf  'test.tar' -C 'content/cell_images'

希望这可以帮助!

于 2019-04-11T20:41:47.620 回答
15

虽然回答较晚,但可能对其他人有所帮助:

shutil.unpack_archive适用于几乎所有存档格式(例如,“zip”、“tar”、“gztar”、“bztar”、“xztar”),而且很简单:

import shutil
shutil.unpack_archive("filename", "path_to_extract")
于 2020-03-22T09:23:49.820 回答
1

连接到驱动器,

从 google.colab 导入驱动器 drive.mount('/content/drive')

检查目录 !ls 和 !pwd

解压缩!解压缩驱动器/“我的驱动器”/images.zip -d 目的地

于 2019-11-27T14:24:33.220 回答
0

如果你的当前目录是默认目录,/content你可以像这样解压你的文件夹项目:

%%bash
mkdir foldername
tar -xvf '/content/foldername.tar' -C '/content/'

%%bash!让您无需在每行的开头使用即可编写脚本。

于 2019-11-28T20:45:39.230 回答
0
!tar -xvf "cord-19_2021-12-20.tar.gz"

这里也给出了 https://colab.research.google.com/github/sudo-ken/compress-decompress-in-Google-Drive/blob/master/Unrar_Unzip_Rar_Zip_in_GDrive.ipynb

于 2021-12-30T13:56:41.447 回答