如何获得keras :: image_load()从Google云端硬盘读取图像?

时间:2020-01-26 19:10:44

标签: r keras google-drive-api

我想使用keras :: image_load加载图像文件。图像存储在公共共享的Google云端硬盘中。我可以获取图像文件的Google云端硬盘ID,但是image_load()会自动在文件路径前添加当前项目目录(C:\ Analysis),因此找不到该文件。

这是一个代表

library(keras)
library(googledrive)


url <- "https://drive.google.com/drive/folders/1hWYi3vG2U547Nb1yTwXqsgKCDhaghL8j" # Path to Google Drive 
folder <- drive_get(as_id(url))

# ... authorization steps here ...

file_list <- drive_ls(folder, type= "png") # list png images in folder
file_id <- file_list$id[1] # select first image: file_id = "10KIgEeNovqH9tMnRd-4CKN_9wWD7EJ8O"

# try to load image using Google Drive file id
img <- image_load(as_id(file_id), target_size = c(224, 224))

#Error in py_call_impl(callable, dots$args, dots$keywords) : 
# FileNotFoundError: [Errno 2] No such file or directory: 
# 'C:\\Analysis\\10KIgEeNovqH9tMnRd-4CKN_9wWD7EJ8O'

# Try to download image using the Google Drive file id
drive_download(as_id(file_id)) # This statement works, so the id is correct

显然,我可以将每个图像下载到本地目录,然后将下载文件的路径传递到image_load()。但是,出于效率目的,我宁愿不这样做。有什么方法可以使image_load()直接处理文件,而无需从Google云端硬盘下载文件?

任何帮助表示赞赏。谢谢。

0 个答案:

没有答案