我已经在Rstudio中基于CPU快速安装了Keras for R。
install.packages("keras")
library(keras)
install_keras()
从这一点开始,每个思想都成功安装,我决定按照预训练的模型Resnet50示例(https://tensorflow.rstudio.com/keras/articles/applications.html)。我在本地下载了Resnet50模型,这是一个h5文件。我在Rstudio中安装了包h5(https://cran.r-project.org/web/packages/h5/index.html),所以我可以阅读h5格式。
library(h5)
library(keras)
library(tensorflow)
# instantiate the model
model <- h5file("./Data/resnet50_weights_tf_dim_ordering_tf_kernels.h5", 'a')
# load the image
img_path <- "./Images/Bird.jpg"
img <- image_load(img_path, target_size = c(640,571))
x <- image_to_array(img)
# ensure we have a 4d tensor with single element in the batch dimension,
# the preprocess the input for prediction using resnet50
x <- array_reshape(x, c(1, dim(x)))
x <- imagenet_preprocess_input(x)
# make predictions then decode and print them
preds <- model %>% predict(x)
imagenet_decode_predictions(preds, top = 3)[[1]]
我在这里遇到了错误:
preds <- model %>% predict(x)
no applicable method for 'predict' applied to an object of class "c('H5File', 'CommonFG', 'H5Location')
似乎所使用的predict()函数来自包&#34; h5&#34;但我想使用包中的predict()函数&#34; stats&#34;这是由Keras安装的。
所以我尝试过:
preds <- model %>% stats::predict(x)
但是我仍然得到相同的错误,所使用的predict()函数仍然来自包h5。
有人知道为什么吗?
最好的问候。