keras 单独训练
# 模型回调
callbacks = [checkpoint, lr_reducer, lr_scheduler]
# 训练数据集和测试数据集
#train_data=(x_train, y_train), test_data=(x_test, y_test)
# x_train's shape: (N,H,W,C)
train_data, test_data = get_data(
num_classes, train_dir, val_dir, subtract_pixel_mean)
# 输入图片的shape
input_shape = train_data[0].shape[1:]
print(f'input image shape:{input_shape}, need shape: (32, 32, 3)')
# 获取模型
model = get_model(version, input_shape, depth)
# 当前轮次开始时间
start_time = datetime.datetime.now()
# 训练,检测,with or without data augmentation.
accu = train(model, train_data, test_data, batch_size,
step_per_round, callbacks, data_augmentation)
# 当前轮次结束时间
end_time = datetime.datetime.now()
keras 云际训练
# 模型回调
callbacks = [checkpoint, lr_reducer, lr_scheduler]
# 训练数据集和测试数据集
#train_data=(x_train, y_train), test_data=(x_test, y_test)
# x_train's shape: (N,H,W,C)
train_data, test_data = get_data(
num_classes, train_dir, val_dir, subtract_pixel_mean)
# 输入图片的shape
input_shape = train_data[0].shape[1:]
print(f'input image shape:{input_shape}, need shape: (32, 32, 3)')
# 获取模型
model = get_model(version, input_shape, depth)
# 参数管理器
param_hunter = ParamHunter(model, debug=False)
# api客户端
api_client = THGYApiClient()
# 训练之前,需要从JCCE.agent初始化model的参数
model, init_params_num = param_hunter.init_params(initial)
# 界面展示用
api_client.add_training_parameters(0, task_id, init_params_num)
# 当前轮次开始时间
start_time = datetime.datetime.now()
# 训练,检测,with or without data augmentation.
accu = train(model, train_data, test_data, batch_size,
step_per_round, callbacks, data_augmentation)
# 当前轮次结束时间
end_time = datetime.datetime.now()
# 界面展示用
api_client.add_task_training_data(group_id, task_id, global_step,
recall=0, precision=accu,
startTime=start_time.strftime(
"%Y-%m-%d %H:%M:%S.%f"),
endTime=end_time.strftime("%Y-%m-%d %H:%M:%S.%f"))
# 训练完成后上传参数到JCCE.agent
upload_param_nums = param_hunter.upload_params(model, uuid, step_per_round)
# 界面展示用
api_client.add_training_parameters(1, task_id, upload_param_nums)