Слой density_66 был вызван с входом, который не является символическим тензором

Насколько я знаю, вы не можете передать сложный объект напрямую, но вы можете избежать необходимости сами строить строку запроса, передав RouteValueDictionary:

@Html.ActionLink("Edit", "Edit", new RouteValueDictionary {
    {"SearchSortPageParams.SortOrder", evm.SearchSortPageParams.SortOrder },
    { /* etc... */ }
})

. Это должно генерировать строка запроса по мере необходимости.

Единственной альтернативой было бы использование отражения для итерации по свойствам модели и генерации этого словаря таким образом, но это, на мой взгляд, было бы чрезмерно спроектировано.

Конечно, я бы вообще предложил в этой ситуации, что у вас просто есть ваш метод действий, который принимает отдельные параметры:

public ActionResult Search(string searchString, SortOrder sortOrder, ...)

Я обычно считаю это более подходящим способом передать параметры GET методу (конечно, это может стать громоздким, если у вас много параметров). Затем вы можете просто сделать следующее, что намного более аккуратно:

@Html.ActionLink("Edit", "Edit",
    new { sortOrder = evm.SearchSortPageParams.SortOrder, ... })
0
задан hh tt 5 March 2019 в 11:27
поделиться

1 ответ

Это потому, что вы передаете список модельных объектов model_list, которые не являются тензорами, они обертывают графы вычислений, которые дают входные данные, производящие тензоры. Вместо этого вы должны собрать тензорные выходы, что-то вроде:

  #...
  model_ins.append(seg1)
  # ...
  model_outs.append(drop)
# ...
all_model_outs = Concatenate(model_outs)
flat_model_outs = Flatten()(all_model_outs)
den2 = Dense(128)(flat_model_outs) # the error in this line
# ...
big_model= Model(model_ins, final_out)
big_model.compile(loss="categorical_crossentropy", optimizer= opt, metrics=["accuracy"])
big_model.fit_generator(aug.flow(trainX, trainY, batch_size=BS),validation_data=(testX, testY),steps_per_epoch=len(trainX) // BS, epochs=EPOCHS, verbose=1)

Идея состоит в том, что вы можете взять любое входное и выходное вычисление большего графа и преобразовать его в модель для его обучения. Здесь большая модель - это все входные данные для конечного результата, который вы вычисляете, который будет обучать все меньшие модели вместе. Вы по-прежнему можете использовать меньшие модели для индивидуального прогнозирования позже.

0
ответ дан nuric 5 March 2019 в 11:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: