r - 使用 Tensorfllow、keras 和 TidyR 和 R studio 的分类图像模型的问题
问题描述
大家好,我希望你们做得很好,我正在学习使用 RStudio 的编程课程。目前,我正在构建基本的分类图像模型,讲师使用包为tensorflow
, keras
, tidyR
. 除了我尝试的最后一个块(我在下面附上)之外,我所有的块都可以工作,但我不知道错误是什么意思,或者我该如何修复它。我会很感激得到建议,我应该尝试解决问题的事情,或者替代方案和计划 b 让模型工作......如果你可以随意用西班牙语交流,英语是我的第二语言,谢谢提前
library(tensorflow)
tf$constant("Hellow Tensorflow")
library(keras)
data<-dataset_fashion_mnist() ##llamar el dataframe
c(train_images, train_labels) %<-% data$train ##código_para_el_entrenamiento_del_reconocimiento de imágenes
c(test_images, test_labels) %<-% data$test ##código_para_el_test_de_clasificación_deimágenes
class_names = c("T-shirt/top", "Trouser", "Pullover", "Dress", "Coat", "Sandal",
"Shirt", "Sneaker", "Bag", "Ankle boots")
探索者数据
dim(train_images)
dim(train_labels)
train_labels[1:20]
dim(test_images)
dim(test_labels)
dim(train_labels)
##Instalación de paquetes
library(ggplot2)
library(tidyr)
##Manipulación de los datos
img1<-as.data.frame(train_images[1, , ])
View(img1)
colnames(img1)<-seq_len(ncol(img1))
View(img1)
img1$y<-seq_len(nrow(img1))
img1<-gather(img1, "x", "value", -y)
img1$x<-as.integer(img1$x)
### Gráfico de los datos
ggplot(img1, aes(x = x, y = y, fill = value)) +geom_tile()+ scale_fill_gradient( low = "white", high = "black", na.value = NA) +
scale_y_reverse() +
theme_minimal() +
theme(panel.grid = element_blank()) +
theme(aspect.ratio = 1) + xlab(" ") + ylab(" ")
train_images<-train_images/255
test_images<-test_images/255
par(mfcol = c(5,5))
par(mar = c( 0, 0, 1.5, 0), xaxs = "i", yaxs = "i")
for ( i in 1:25 ) {
img<-train_images[i, , ]
img<-t(apply(img, 2, rev))
image(1:28, 1:28, img, col = gray((0:255)/255), xaxt = "n", yaxt = "n",
main = paste(class_names[train_labels[i] + 1 ]))
}
model<-keras_model_sequential()
model %>%
layer_flatten(input_shape = c(28, 28)) %>%
layer_dense(units = 128, activation = "relu") %>%
layer_dense(units = 10, activation = "softmax")
model %>% compile(
optimizer = "adam",
loss = "saprse_categorial_crossentropy",
metrics = "accuracy"
)
model %>% fit(train_images, train_labels, epochs = 5, verbose = 5)
我得到的错误
在新窗口中显示 install.packages 中的警告:包 'contrib.url' 不适用于此版本的 R
您的 R 版本的此包的版本可能在其他地方可用,请参阅 https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages 中的想法新窗口 tf.Tensor(b'Hellow Tensorflow', shape=(), dtype=string) 在新窗口中显示 [1] 60000 28 28 在新窗口中显示 [1] 60000 在新窗口中显示 [1] 9 0 0 3 0 2 7 2 5 5 0 9 5 5 7 9 1 0 6 4 在新窗口中显示 [1] 10000 28 28 在新窗口中显示 [1] 10000 在新窗口中显示
在新窗口中显示
在新窗口中显示 py_call_impl(callable, dots$args, dots$keywords) 错误:ValueError: in user code: C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~ 1\lib\site-packages\tensorflow\python\keras\engine\training.py:855 train_function * 返回 step_function(self, iterator) C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs \R-RETI~1\lib\site-packages\tensorflow\python\keras\engine\training.py:845 step_function ** 输出 = model.distribute_strategy.run(run_step, args=(data,)) C:\Users \PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:1285 运行返回 self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs) C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py :2833 call_for_each_replica 返回自我。_call_for_each_replica(fn, args, kwargs) C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py :3608 _call_f 6. stop(structure(list(message = "ValueError: in user code:\n\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1 \lib\site-packages\tensorflow\python\keras\engine\training.py:855 train_function *\n return step_function(self, iterator)\n C:\Users\PASANT~1\AppData\Local\R-MINI~ 1\envs\R-RETI~1\lib\site-packages\tensorflow\python\keras\engine\training.py:845 step_function **\n 输出 = model.distribute_strategy.run(run_step, args=(data,) )\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:1285 运行\n return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2833 call_for_each_replica\n return self._call_for_each_replica( fn, args, kwargs)\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\distribute\distribute_lib.py :3608 _call_for_each_replica\n return fn(*args, **kwargs)\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\ tensorflow\python\keras\engine\training.py:838 run_step **\n 输出 = model.train_step(data)\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R -RETI~1\lib\site-packages\tensorflow\python\keras\engine\training.py:797 train_step\ny, y_pred, sample_weight, regularization_losses=self.losses)\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\keras\engine\compile_utils.py:187称呼2078 获取\n 返回反序列化(标识符)\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\tensorflow\python\keras\ loss.py:2037 反序列化\n printable_module_name='loss function')\n C:\Users\PASANT~1\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\ tensorflow\python\keras\utils\generic_utils.py:703 deserialize_keras_object\n .format(printable_module_name, object_name))\n\n ValueError: Unknown loss function: sparse_categorial_crossentropy。请确保将此对象传递给 703 deserialize_keras_object\n .format(printable_module_name, object_name))\n\n ValueError: Unknown loss function: sparse_categorial_crossentropy。请确保将此对象传递给 703 deserialize_keras_object\n .format(printable_module_name, object_name))\n\n ValueError: Unknown loss function: sparse_categorial_crossentropy。请确保将此对象传递给custom_objects
争论。有关详细信息,请参见https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object。\n ", call = py_call_impl(callable, dots$args, dots$keywords), cppstack = NULL), class = c(" Rcpp::exception", "C++Error", "error", "condition"))) 5. (结构(函数 (...) {dots <- py_resolve_dots(list(...)) 结果 <- py_call_impl(callable, dots$args, dots$keywords) ... 4. do.call(object$fit, args) 3. fit.keras.engine.training.Model(., train_images, train_labels, epochs = 5, verbose = 5) 2. fit(., train_images, train_labels, epochs = 5, verbose = 5) 1. model %>% fit(train_images, train_labels, epochs = 5, verbose = 5)
解决方案
推荐阅读
- c# - C# 正则表达式转义和替换
- javascript - 使用 WebGL 纹理作为 Three.js 纹理贴图
- java - 具有循环检查的非二叉树实现
- java - 有什么方法可以将子项目 buildSrc 包含到根项目的 buildSrc 类路径中?
- php - 基于关键字搜索从 eBay API 中检索 WatchCount
- python - 如何从 UCI 机器学习存储库中导入 .data 和 .lisp 文件?
- html - 从 netlify 托管静态站点两次加载我的脚本和样式
- reactjs - 如何直接在当前文件夹中创建 React 应用
- oracle11g - 优化器不使用索引
- javascript - 返回值数组Javascript的数组的属性