набор данных nd4j изменяется на ноль при использовании метода shuffle

#dl4j #nd4j

#dl4j #nd4j

Вопрос:

Я использую DeepLearning4J и nd4j-cuda-10.2. все элементы набора данных изменяются на ноль после того, как я использую метод shuffle(). Я отследил код и думаю, что есть проблема с методом registerAction().

 DataSet data;
...
data.shuffle();
 

это данные перед перемешиванием:

 ===========INPUT===================
[[         0,         0,         0,  ...         0,         0,   16.0000], 
 [         0,         0,         0,  ...         0,    1.0000,   16.0000], 
 [    1.0000,         0,         0,  ...         0,    2.0000,   16.0000], 
  ..., 
 [    5.0000,   39.0000,         0,  ...   25.0000,   19.0000,   16.0000], 
 [    5.0000,   40.0000,         0,  ...   25.0000,   19.0000,   16.0000], 
 [    5.0000,   41.0000,         0,  ...   25.0000,   19.0000,   16.0000]]
=================OUTPUT==================
[[         0,         0,         0,         0,    1.0000], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,         0,    1.0000], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,         0,         0,    1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,    1.0000,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,    1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,         0,   -1.0000], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,         0,         0,   -1.0000,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,   -1.0000,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,   -1.0000,         0,         0,         0], 
 [         0,         0,         0,   -1.0000,         0]]
 

и после:

 ===========INPUT===================
[[         0,         0,         0,  ...         0,         0,         0], 
 [         0,         0,         0,  ...         0,         0,         0], 
 [         0,         0,         0,  ...         0,         0,         0], 
  ..., 
 [         0,         0,         0,  ...         0,         0,         0], 
 [         0,         0,         0,  ...         0,         0,         0], 
 [         0,         0,         0,  ...         0,         0,         0]]
=================OUTPUT==================
[[         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0], 
 [         0,         0,         0,         0,         0]]
 

в операнде метода registerAction().длина всегда равна нулю:

 public void registerAction(CudaContext context, INDArray result, INDArray... operands) {
    if (result != null amp;amp; !result.isEmpty()) {
        AllocationPoint point = this.allocator.getAllocationPoint(result);
        point.tickDeviceWrite();
        INDArray[] var5 = operands;
        int var6 = operands.length;

        for(int var7 = 0; var7 < var6;   var7) {
            INDArray operand = var5[var7];
            if (operand != null amp;amp; !operand.isEmpty()) {
                AllocationPoint pointOperand = this.allocator.getAllocationPoint(operand);
                pointOperand.tickDeviceRead();
            }
        }

    }
}
 

Комментарии:

1. ПРИВЕТ, не могли бы вы обратиться с вопросом по адресу gthub.com/eclipse/deeplearning4j/issues ? Спасибо!

2. это правильный адрес? Я не мог его открыть.

3. Извините, проект размещен на github. github.com/eclipse/deeplearning4j/issues

4. У меня так много проблем с использованием этой библиотеки. даже такой простой пример, как IrisClassifieron в репозитории, не будет работать корректно. выходные данные нейронной сети одинаковы для всех входных данных. Я не могу понять, чего мне не хватает.

5. не могли бы вы быть более конкретными? Если вы можете обновить свой вопрос, я буду рад помочь. У нас есть несколько руководств и примеров по началу работы на github.com/eclipse/deeplearning4j-examples — если вы можете быть более конкретны, может быть, я мог бы решить вашу проблему?