def build_model(external_dim): #创建模型时 首先指定进行组合时的参数 将配置分别放进不同的区域中(就是相近性的长度 ,周期性的长度等) c_conf = (len_closeness, nb_flow, map_height, map_width) if len_closeness > 0 else None p_conf = (len_period, nb_flow, map_height, map_width) if len_period > 0 else None t_conf = (len_trend, nb_flow, map_height, map_width) if len_period > 0 else None ''' 趋势性的数据暂时不要 t_conf = (len_trend, nb_flow, map_height, map_width) if len_trend > 0 else None ''' #根据不同的配置定义残差神经网络模型 这个stresnet是定义好的,传入关于不同方面的配置,最后会返回根据参数组合好的模型 model = stresnet(c_conf=c_conf, p_conf=p_conf, t_conf=t_conf, external_dim=external_dim, nb_residual_unit=nb_residual_unit) adam = Adam(lr=lr) #接下来 定义学习率和损失函数值 model.compile(loss='mse', optimizer=adam, metrics=[metrics.rmse]) model.summary() # from keras.utils.visualize_util import plot # plot(model, to_file='model.png', show_shapes=True) return model
def build_model(external_dim, nb_residual_unit, map_height=16, map_width=8, len_closeness=3, len_period=1, len_trend=1, nb_flow=2, lr=0.0001, save_model_pic=False, bn=False): c_conf = (len_closeness, nb_flow, map_height, map_width) if len_closeness > 0 else None p_conf = (len_period, nb_flow, map_height, map_width) if len_period > 0 else None t_conf = (len_trend, nb_flow, map_height, map_width) if len_trend > 0 else None model = stresnet(c_conf=c_conf, p_conf=p_conf, t_conf=t_conf, external_dim=external_dim, nb_residual_unit=nb_residual_unit, bn=bn, bn2=bn) # sgd = SGD(lr=lr, momentum=0.9, decay=5e-4, nesterov=True) adam = Adam(lr=lr) model.compile(loss='mse', optimizer=adam, metrics=[metrics.rmse]) # model.summary() if (save_model_pic): from keras.utils.vis_utils import plot_model plot_model(model, to_file='TaxiBJ_model.png', show_shapes=True) return model
def build_model(external_dim): c_conf = (len_closeness, nb_flow, map_height, map_width) if len_closeness > 0 else None p_conf = (len_period, nb_flow, map_height, map_width) if len_period > 0 else None t_conf = (len_trend, nb_flow, map_height, map_width) if len_trend > 0 else None model = stresnet(c_conf=c_conf, p_conf=p_conf, t_conf=t_conf, external_dim=external_dim, nb_residual_unit=nb_residual_unit) adam = Adam(lr=lr) model.compile(loss='mse', optimizer=adam, metrics=[metrics.rmse]) model.summary() # from keras.utils.visualize_util import plot # plot(model, to_file='model.png', show_shapes=True) return model
def build_model(len_closeness, len_period, len_trend, nb_flow, map_height, map_width, external_dim, nb_residual_unit, bn, bn2=False, save_model_pic=False, lr=0.00015): c_conf = (len_closeness, nb_flow, map_height, map_width) if len_closeness > 0 else None p_conf = (len_period, nb_flow, map_height, map_width) if len_period > 0 else None t_conf = (len_trend, nb_flow, map_height, map_width) if len_trend > 0 else None model = stresnet(c_conf=c_conf, p_conf=p_conf, t_conf=t_conf, external_dim=external_dim, nb_residual_unit=nb_residual_unit, bn=bn, bn2=bn2) adam = Adam(lr=lr) model.compile(loss='mse', optimizer=adam, metrics=[metrics.rmse]) # model.summary() if (save_model_pic): from keras.utils.vis_utils import plot_model plot_model(model, to_file='TaxiNYC_model.png', show_shapes=True) return model