网状结构的新手,我试图运行此示例代码时不走运:(
library(reticulate)
use_virtualenv("~/virtualenv", required = TRUE)
np <- import("numpy", convert = FALSE)
plt <- import("matplotlib.pyplot")
img <- import("pyts")
# R variables
image_data <- runif(25)
reshape_image_data <- array_reshape(image_data, c(25,1))
# Reticulated Python variables
x_array <- np$array(reshape_image_data)
mtf <- img$image$MTF(c(5, 5))
#mtf <- img$image$MTF(as.integer(c(as.integer(5),as.integer(5))))
X_mtf <- mtf$fit_transform(x_array)
遇到此错误:
Error in py_call_impl(callable, dots$args, dots$keywords) :
TypeError: 'size' must be an integer.
Detailed traceback:
File "~/virtualenv/lib/python3.6/site-packages/sklearn/base.py", line 517, in fit_transform
return self.fit(X, **fit_params).transform(X)
File "~/virtualenv/lib/python3.6/site-packages/pyts/image/image.py", line 268, in transform
raise TypeError("'size' must be an integer.")
这来自pyts.image.image.py,其中的校验代码如下:
if not isinstance(self.image_size, int):
raise TypeError("'size' must be an integer.")
没有使其正常工作。有人尝试过吗? 谢谢
答案 0 :(得分:0)
最后知道了。注意array_reshape c(1,25)
和MTF as.integer(5)
:
library(reticulate)
use_virtualenv("~/virtualenv", required = TRUE)
np <- import("numpy", convert = FALSE)
plt <- import("matplotlib.pyplot")
img <- import("pyts")
# R variables
image_data <- runif(25)
reshape_image_data <- array_reshape(image_data, c(1,25))
# Reticulated Python variables
x_array <- np$array(reshape_image_data)
mtf <- img$image$MTF(as.integer(5))
X_mtf <- mtf$fit_transform(x_array)