Насколько я знаю, вы не можете передать сложный объект напрямую, но вы можете избежать необходимости сами строить строку запроса, передав 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, ... })
Это потому, что вы передаете список модельных объектов 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)
Идея состоит в том, что вы можете взять любое входное и выходное вычисление большего графа и преобразовать его в модель для его обучения. Здесь большая модель - это все входные данные для конечного результата, который вы вычисляете, который будет обучать все меньшие модели вместе. Вы по-прежнему можете использовать меньшие модели для индивидуального прогнозирования позже.