1. 程式人生 > 其它 >R語言全連線神經網路Error in py_call_impl(callable, dots$args, dots$keywords) : ValueError: in user code

R語言全連線神經網路Error in py_call_impl(callable, dots$args, dots$keywords) : ValueError: in user code

技術標籤:RRstudiotensorflow

深度學習報錯

一級目錄

老師讓我做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應該就是不能執行的。
說句實話,真想吐槽下R語言做深度學習,哎,報錯也看不懂(都是python轉譯),也查不到,偶爾能查到大概是哪裡錯了還不知道怎麼改,這次報錯後期我改的過程中變成了另一種報錯,我在stackover flow上面大概查了查,說是資料沒轉成numpy,問題是我他嗎咋知道在R上面改。幸好以前有過類似的經驗,麻蛋的。做完這個我就要用python了!