http://snipplr.com/view/2789/sorting-map-keys-by-comparing-its-values/
получить ключи
List keys = new ArrayList(yourMap.keySet());
Отсортировать их
Collections.sort(keys)
распечатать их.
В любом случае вы не можете сортировать значения в HashMap (в соответствии с API This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time
].
Хотя вы можете нажать все эти значения на LinkedHashMap
, для дальнейшего использования.
LSTM
предназначены для «временных последовательностей». Conv
слои предназначены для «неподвижных изображений».
Требуются такие фигуры, как (batch, steps, features)
. Другие требуют: (batch, witdh, height, features)
Теперь ConvLSTM2D
смешивает оба и требует (batch, steps, width, height, features)
. Когда вы покидаете ConvLSTM2D
у вас есть дополнительное измерение steps
, не поддерживаемое Conv2D
.
Если вы хотите сохранить это измерение, используйте свертку с оберткой TimeDistributed
:
model.add(TimeDistributed(Conv2D(...))
Обратите внимание, что вы все равно будете иметь все 5 измерений, в соответствии с вашим другим модель, которая имеет только 3.
Вы должны использовать какие-то изменения или другие операции, чтобы сделать их подходящими для ваших данных обучения.
Так как ваш вопрос ничего не показывает об этом, это все, на что мы можем ответить сейчас.
Сообщение об ошибке означает, что ваши входные данные поступают на уровень conv2d с 5 измерениями, а не с 4. Модель должна получать входной сигнал, подобный
(samples, time, rows, cols, channels)
, учитывая, что вы используете каналы -страстный бэкэнд (тензорный поток). Затем каждый срез (time,rows,cols,channels)
отправляется через слой conv2d один за другим. Однако сообщение об ошибке подразумевает, что переданное измерение равно 5, а не ожидаемому. 4. Проверьте форму ваших входных данных, и при необходимости ответ может быть изменен.