Rstudio:图书馆与Keras和h5包冲突

时间:2018-03-22 09:55:49

标签: r tensorflow keras

我已经在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。

有人知道为什么吗?

最好的问候。

0 个答案:

没有答案