r - 在 Rstudio 中使用 keras 的错误消息,py_call_impl 中的错误(callable,dots$args,dots$keywords):ValueError:在用户代码中:
问题描述
我希望有人可以在这里帮助我。我在 Rstudio 中使用 keras 包时遇到了很大的困难。
我一直在关注 ISLR2 书,第 10 章,我正在尝试解决问题 7,这与默认数据集有关。
当我运行它时,我收到以下消息:
py_call_impl(callable, dots$args, dots$keywords) 中的错误:ValueError:在用户代码中:
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py:853 train_function *
return step_function(self, iterator)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py:842 step_function **
outputs = model.distribute_strategy.run(run_step, args=(data,))
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:1286 run
return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2849 call_for_each_replica
return self._call_for_each_replica(fn, args, kwargs)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:3632 _call_for_each_replica
return fn(*args, **kwargs)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py:835 run_step **
outputs = model.train_step(data)
委婉地说,我完全不知道这意味着什么。
这是我正在使用的代码:
### getting our testid
default=Default
n=nrow(default)
testid.7=sample(1:n, ntest)
x=default[ ,c(2, 3, 4)]
y=default$default
xtrain=as.data.frame(x[-testid.7, ])
ytrain=y[-testid.7]
## converting out y, which is the default response, to categorical
y_train_cat=rep(NA, length(y_train))
for (i in 1:length(y_train)) {
if (y_train[i]=="Yes") {
y_train_cat[i]=1
} else {y_train_cat[i]=0}
}
y_train_cat
### Converting the student variable into a categorical variable
trainstudent=xtrain$student
student_cat=rep(NA, length(trainstudent))
for (i in 1:length(trainstudent)) {
if (trainstudent[i]=="Yes") {
student_cat[i]=1 } else {student_cat[i]=0}
}
xtrain_mod=as.data.frame(cbind(student_cat, xtrain$balance, xtrain$income))
## Fitting our neural network
modnn.7=keras_model_sequential() %>%
layer_dense(units=10, activation="relu", input_shape=c(3)) %>%
layer_dropout(rate=0.4) %>%
layer_dense(units=1, activation='softmax')
modnn.7%>%compile(loss = 'categorical_crossentropy',
optimizer = optimizer_rmsprop(),
metrics = 'accuracy'
)
history <- modnn.7 %>% fit (
xtrain_mod,
y_train_cat,
epochs = 200,
batch_size = 50
)
如果有人有任何见解,那就太好了。我是一名已经使用 R 几年的 MS 学生,但这是我对 keras 包的唯一体验,所以显然我对它很陌生。
谢谢!
编辑:
这是我从错误中得到的全部信息
py_call_impl(callable, dots$args, dots$keywords) 中的错误:ValueError:在用户代码中:
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py:853 train_function *
return step_function(self, iterator)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py:842 step_function **
outputs = model.distribute_strategy.run(run_step, args=(data,))
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:1286 run
return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2849 call_for_each_replica
return self._call_for_each_replica(fn, args, kwargs)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:3632 _call_for_each_replica
return fn(*args, **kwargs)
C:\MINICO~1\envs\R-RETI~1\lib\site-packages\keras\engine\training.py:835 run_step **
outputs = model.train_step(data)
解决方案
推荐阅读
- excel - 在工作表 1 中需要一个搜索框,它将像在 excel 中的 Cltr F 一样搜索工作表 2
- spring - spring jpa 属性 spring.jpa.hibernate.ddl-auto 不适用于 Spring Boot 中的自定义 DB 配置
- python - 如何在从数据框创建的折线图上调整和标记 x 刻度?
- angular - 如何从数组列表中删除数据 - NGXS 状态管理
- python-3.x - 创建 n 长度的小部件列表,其中 n 由另一个小部件设置
- javascript - 使用 JavaScript 检查变量中是否存在多个单词
- java - 如何在 redhat developer studio 中从提取的 JAR 中导入代码
- r - 如何处理 R 中“curl_fetch_memory”请求中的特殊字符?
- scala - 如何用尾巴映射列表项[Scala]
- android - 从父活动的片段中查找文本框