首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R-Python Reticulate : TypeError:'size‘必须是整数

R-Python Reticulate : TypeError:'size‘必须是整数
EN

Stack Overflow用户
提问于 2018-09-01 01:45:10
回答 1查看 146关注 0票数 0

对于Reticulate来说,我正在尝试运行这个示例代码,但没有成功:(

代码语言:javascript
复制
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)

获取此错误:

代码语言:javascript
复制
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,其中的校验码如下所示:

代码语言:javascript
复制
if not isinstance(self.image_size, int):
            raise TypeError("'size' must be an integer.")

没有让它起作用。有人试过了吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-09-01 17:09:47

终于明白了。注意array_reshape c(1,25)MTF as.integer(5)

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52120469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档