深度学习报错
一级目录
老师让我做ANN去对比一下,以前有很多方法可以做,用 nnet包/RSNNS包/lattice 包等等,之前碍于深度学习环境没有搭好,就没用keras,这回可以以使用了,就想用一下.感觉应该不难,但是还是出了问题.
就是下面这种情况
Error in py_call_impl(callable, dots$args, dots$keywords) :
ValueError: in user code:
C:\Users\Bpbim-01\anaconda3\envs\r-tensorflow\lib\site-packages\tensorflow\python\keras\engine\training.py:571 train_function *
outputs = self.distribute_strategy.run(
C:\Users\Bpbim-01\anaconda3\envs\r-tensorflow\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:951 run **
return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
C:\Users\Bpbim-01\anaconda3\envs\r-tensorflow\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2290 call_for_each_replica
return self._call_for_each_replica(fn, args, kwargs)
C:\Users\Bpbim-01\anaconda3\envs\r-tensorflow\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2649 _call_for_each_replica
return fn(*args, **kwargs)
C:\Users\Bpbim-01\anaconda3\envs\r-tensorflow\lib\site-packages\tensorflow\python\keras\engine\training.py:531 train_step **
y_pred = self(x, training=True)
C:\Users\Bpbim-01\ana
我感觉我过程完全没有问题,怎么改都是报错。最后找到了问题,数据输入不对
在训练集的X需要改成matrix如下:
train_x <- as.matrix(train_data[,-length(train_data)])
这样就可以了,找了好几个小时,我都要吐血了,也不是我找到了,是以前好像遇到过,类似方法解决了。
对简单的方法就是使用str()一下数据集,要是显示data.frame应该就是不能运行的。
PS: to_categorical()这个函数在使用的时候,内部的数据一定时从0开始算的,如果用正常情况下标签数据XX<-as.factor(XX),里面的数据会从1开始的计算。所以XX带入到 to_categorical()要减去一个1。也就是to_categorical((XX-1),num = x)。(上面这条没有经过代码验证,是当时做的时候有这么记忆)