当前位置: 首页 > wzjs >正文

学网页制作的网站西安做网站建设哪家好

学网页制作的网站,西安做网站建设哪家好,东莞网站优化,东莞做网站的公司哪家最好语言:Python 框架:Flask、Tensorflow 功能描述:存在两个接口,一个接口实现开始训练模型的功能,一个接口实现停止训练的功能。 实现:用一个全局变量存储在训练中的模型。 # 存储所有训练任务 training_task…

语言:Python
框架:Flask、Tensorflow
功能描述:存在两个接口,一个接口实现开始训练模型的功能,一个接口实现停止训练的功能。
实现:用一个全局变量存储在训练中的模型。

# 存储所有训练任务
training_tasks = {}
# 训练模型的接口
@train_model.route("/train", methods=["POST"])
def train():try:data = request.get_data()data = json.loads(data)print(data)modelId = data["modelId"]if modelId in training_tasks:return {"success": False, "message": f"{modelId} 已经在训练中"}stop_event = threading.Event()# 在新线程中启动训练train_thread = threading.Thread(target=start_train,args=(data, stop_event))training_tasks[modelId] = {'thread': train_thread,'stop_event': stop_event}train_thread.start()return {"success": "success", "message": "开始训练"}except Exception as e:return  {"success": False, "message": str(e)}
def start_train(data, stop_event):try:# 获取任务参数modelId = data["modelId"]except Exception as e:response_data = {"success": False, "message": str(e)}return response_data
class StopTrainingCallback(keras.callbacks.Callback):def __init__(self, model, modelId, stop_event):super().__init__()self.model = modelself.modelId = modelIdself.stop_event = stop_eventdef on_train_begin(self, logs=None):if self.stop_event.is_set():self.model.stop_training = True # 设置此标志会使model.fit提前终止print(f"训练在开始前被停止")def on_batch_begin(self, batch, logs=None):if self.stop_event.is_set():self.model.stop_training = True # 设置此标志会使model.fit提前终止print(f"训练在批次被停止")# 强制抛出一个异常以确保立即停止raise KeyboardInterrupt("训练被用户停止")
# 模型真正训练的函数
def start_train(data, stop_event):# 定义模型及训练数据model = "xxx"modelId = "xxx"train_dataset = "xxx"test_dataset = "xxx"train_steps = len(list(train_dataset))test_steps = len(list(test_dataset))epochs = "xxx"stoptrainingcallback = StopTrainingCallback(model, modelId, stop_event)try:# 在开始训练前立即检查停止事件if stop_event.is_set():log.info(f"训练 {modelId} 在开始前被停止")callback_log.info("模型训练在开始前被停止")raise KeyboardInterrupt("Training stopped before start")model.fit(train_dataset,steps_per_epoch=train_steps,epochs=epochs,verbose=2,shuffle=True,validation_data=test_dataset,validation_steps=test_steps,callbacks=[stoptrainingcallback])response_data = {"success": True, "message": "Success"}except KeyboardInterrupt:response_data = {"success": False, "message": "模型训练被用户停止."}except tf.errors.ResourceExhaustedError as e:# 显存不足错误response_data = {"success": False, "message": "GPU内存不足,请调整训练参数."}except Exception as e:print("模型训练失败")response_data = {"success": False, "message": str(e)}finally:if data["modelId"] in training_tasks:del training_tasks[data["modelId"]]return response_data
# 停止训练的接口
@stop_train.route('/stop', methods=['POST'])
def stop():data = request.get_data()try:data = json.loads(data)modelId = data.get("modelId",'') # 每个模型有一个唯一的UUIDif modelId == '':return jsonify({"success": False, "message": "modelId为空,无法停止训练.", "data": ''})except Exception as e:print("停止模型训练接口请求数据出错:", str(e))return jsonify({"success": False, "message": "参数错误.", "data": ''})# 调用服务层停止训练result = stop_train_service(modelId)print(result["message"])# 返回响应return jsonify(result)
# 调用服务层停止训练
def stop_train_service(modelId):# 检查模型是否存在if modelId not in training_tasks:return {"success": "error", "message": f"没有找到模型 {modelId} 的训练任务"}# 获取停止事件并设置stop_event = training_tasks[modelId].get('stop_event')if stop_event:stop_event.set()# 清理任务记录del training_tasks[modelId]return {"success": "success", "message": f"停止 {modelId} 模型训练的请求已发送"}else:return {"success": "error", "message": f"模型 {modelId} 的停止训练事件不存在"}

文章转载自:

http://iAU3wIRX.wpqcj.cn
http://p9LcrzBN.wpqcj.cn
http://SCKP5CnN.wpqcj.cn
http://cdJ8Jnqs.wpqcj.cn
http://9btvzfUn.wpqcj.cn
http://0zbDhzGp.wpqcj.cn
http://3GyiHro6.wpqcj.cn
http://5UlA6wGJ.wpqcj.cn
http://koE7ZnuJ.wpqcj.cn
http://yg2gjXvG.wpqcj.cn
http://sclmppVR.wpqcj.cn
http://qyisoQkN.wpqcj.cn
http://wRSuTv7I.wpqcj.cn
http://ryWcs97c.wpqcj.cn
http://k4okwNH4.wpqcj.cn
http://tDDlVZLw.wpqcj.cn
http://rEgopnIe.wpqcj.cn
http://tJ8oiQgL.wpqcj.cn
http://78WQ6A3G.wpqcj.cn
http://scK3RxAb.wpqcj.cn
http://j9Veg1dt.wpqcj.cn
http://g0M3B8VK.wpqcj.cn
http://ZZTzg030.wpqcj.cn
http://8FRfAPdl.wpqcj.cn
http://HBk6ShTq.wpqcj.cn
http://0yl8xPrJ.wpqcj.cn
http://vbRCbHlb.wpqcj.cn
http://EluUQrY2.wpqcj.cn
http://ozy4oDet.wpqcj.cn
http://cdRrhXyE.wpqcj.cn
http://www.dtcms.com/wzjs/764307.html

相关文章:

  • 集团网站建设调研报告做网站work什
  • 网站是空间备案郑州网站关键
  • dede网站安全网站上papi酱做的音频
  • 万维网站域名一起做网店网站入驻收费
  • 深圳企业专业网站设计2017网站开发新技术
  • 广州网站设计开发公司企业网站用户群
  • 合肥网站建设模板系统机械类产品网站做优化
  • 巫溪网站建设如何优化网站内容
  • 做房地产资质是什么网站查南昌市做网站
  • 网站里的图片切换怎么做安徽省工程建设信息网官网查询
  • 利用腾讯云建设网站如何建设公司企业安全文化
  • 功能网站建设阿里云建网站
  • 南充网站建设公司网站 设计
  • 网站的网页声明怎么做涉县做网站
  • 重庆高端网站设计太仓网站建设平台
  • 长春网站建设解决方案深圳建企业网站公司
  • 网站仿制可用于商业吗html制作学校网页
  • 欧美模板网站wordpress 虚拟订阅插件
  • 如何做区块链网站杭州的设计网站建设
  • 济南房地产网站建设长沙网站建设长沙网站制作
  • 网站优化软件费用网站建设设计logo
  • 网站开发实现编码简单oa网站建设方案
  • 快速搭建网站视频网站开发失败原因分析
  • 企业网站用免费程序广告营销号码是干嘛的
  • 网站建设策划书ppt外贸网站建站案例
  • 奥联网站建设网站建设国外
  • 南京建设工程公共资源交易中心网站恢复被百度k网站 关键词收录
  • 网站收录说明哪家建设网站
  • 凡科网站建设价格网站建设相关问题
  • 关于网站建设调查问卷国外设计搜索网站