#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 — если вы можете быть более конкретны, может быть, я мог бы решить вашу проблему?