我在 Google Colab 中有一个笔记本,其中包含以下代码:
batch_size = 64
dataset_name = 'coco/2017_panoptic'
tfds_dataset, tfds_info = tfds.load(
dataset_name,
split='train',
with_info=True)
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以使用该tfds_load函数仅下载部分数据集(例如:5% 或 X 个图像)。据我在文档中看到,没有任何理由可以这样做。当然,下载后可以对数据集进行切片,但这个特定数据集 ( coco/2017_panoptic) 为 19.57 GiB,这显然需要相当长的时间来下载。
我有一个 .rda (RData) 文件列表。我想快速将此数据加载到 R 中,而不必load多次调用该函数。我想到将load()函数与sapply. 但是,使用以下代码,不会在工作区中加载任何 R 对象:
# List files
gewataPath <- list.files(path = file.path(datdir), pattern = glob2rx('Gewata*.rda'), full.names = T)
# Load files
sapply(gewataPath, function(file) {load(file)})
Run Code Online (Sandbox Code Playgroud)
它也不会给任何错误。
运行循环确实会将 .rda 文件作为 RasterLayer 对象加载到 R 工作区中:
for (i in 1:length(gewataPath)) {
load(gewataPath[i])
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么我不能使用apply()函数将 .rda 文件快速加载到 R 工作区中,我是否必须使用循环?
关于数据:数据包含位于埃塞俄比亚 Gewata 的 RasterLayers(来自 Landsat 卫星)。