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

网站 公众号 建设方案沈阳关键词seo排名

网站 公众号 建设方案,沈阳关键词seo排名,网上怎么开网店创业,手机网站智能建站【背景】 训练神经网络模型的时候#xff0c;特征组合太多#xff0c;电脑的资源会不足#xff0c;所以采用分批逐步进行。已经处理过的批次保存下来#xff0c;在下一次跳过#xff0c;只做新加入的批次训练。 选择最优模型组合在中间结果的范围内选择#xff0c;这样…【背景】  训练神经网络模型的时候特征组合太多电脑的资源会不足所以采用分批逐步进行。已经处理过的批次保存下来在下一次跳过只做新加入的批次训练。 选择最优模型组合在中间结果的范围内选择这样能保证所有的特征都能得到组合所有的组合都能得到训练和评估。 【流程】 ------------------------------------- | 开始 (Start) | -------------------------------------|v ------------------------------------- | 读取中间结果 (loss_records) | -------------------------------------|v ------------------------------------- | 计算总的特征组合数量 | | (total_combinations) | -------------------------------------|v ------------------------------------- | 计算批次数量 (num_batches) | -------------------------------------|v ------------------------------------- | 初始化进度条 | -------------------------------------|v ------------------------------------- | 清理多余记录 | | (Clean extra records) | -------------------------------------|v ------------------------------------- | 遍历每个批次 (for each batch) | -------------------------------------|v ------------------------------------- | 获取当前批次特征组合和数据 | -------------------------------------|v ------------------------------------- | 检查当前批次是否已处理 | | (if batch in loss_records) | ------------------------------------ | 否 | 是 | | | | v | | -------------------------------------| | 调用 train_and_evaluate_torch | -------------------------------------|| |v | -------------------------------------| | 更新所有评估结果 | | ------------------------------------- || | vv ------------------------------------- -------------------------------------| 跳过已处理的批次更新评估结果 | | 保存中间结果 |------------------------------------- | (save intermediate results) | -------------------------------------|v ------------------------------------- | 更新进度条 | -------------------------------------|v ------------------------------------- | 所有批次处理完成 | | (All batches processed) | -------------------------------------|v ------------------------------------- | 保存最佳模型和特征组合到Excel | | (save_result_to_excel) | -------------------------------------|v ------------------------------------- | 结束 (End) | -------------------------------------【需求】 读取中间结果 执行特征工程 遍历传入的特征组合 对比中间结果和新传入的特征组合  找出和新传入的特征组合的差异包括新增的和不再用的  执行训练和评估针对新增的同步中间数据中间结果中也包括预测值和模型参数因为我希望从中选出最优模型并记录其中也包括参数信息和预测值  从最新的评估数据包括新的和中间结果中的 选出最优的特征组合保存到excel  【代码】 import os import json import pandas as pd from tqdm import tqdm import logging# 读取中间结果以防程序中途停止 loss_records {} if os.path.exists(loss_records_file):try:with open(loss_records_file, r) as f:loss_records json.load(f)print(~~~~~~~~从中间文件中读取到的loss_records, loss_records)# 确保键是字符串并转换回元组形式loss_records {deserialize_features(k): v for k, v in loss_records.items()}print(~~~~~~~~转换回元组形式的loss_records, loss_records)print(成功加载 loss_records.json)except json.JSONDecodeError as e:print(fJSONDecodeError: {e}. 重置 loss_records.json 文件内容。)loss_records {}with open(loss_records_file, w) as f:json.dump(loss_records, f)# 获取所有特征组合的总数 total_combinations len(feature_combinations)# 计算批次数量 num_batches (total_combinations combination_batch_size - 1) // combination_batch_size# 进度条初始化 pbar tqdm(totaltotal_combinations, desc特征组合训练进度, position0, leaveTrue) all_evaluation_results [] new_feature_set set(feature_combinations)# 删除 loss_records 中多余的记录 loss_records {k: v for k, v in loss_records.items() if deserialize_features(k) in new_feature_set} print(Cleaned loss_records:, loss_records)for batch_index in range(num_batches):start batch_index * combination_batch_sizeend min(start combination_batch_size, total_combinations)current_batch feature_combinations[start:end]current_normalized_data normalized_data[start:end]print(current_batch: , current_batch)print(loss_records: , loss_records)# 检查当前批次是否已处理过if all(features in loss_records for features in current_batch):# 更新进度条pbar.update(len(current_batch))print(跳过已经处理过的批次)# 将已处理过的结果添加到所有评估结果中for features in current_batch:serialized_features serialize_features(features)if serialized_features in loss_records:results loss_records[serialized_features]all_evaluation_results.append({features: features,mse: results[MSE],mae: results[MAE],r2: results[R2]})continueprint(----没有跳过----已经处理过的批次)# 调用 train_and_evaluate_torch 函数处理当前批次的特征组合evaluation_results train_and_evaluate_torch(current_batch, current_normalized_data, param_model, scaler_close, evaluation_results, n, data_obj, parameter_period, loss_records)all_evaluation_results.extend(evaluation_results)# 保存中间结果for features in current_batch:serialized_features serialize_features(features)print(fSerializing features: {features} - {serialized_features})# 提取结果并保存results next(item for item in evaluation_results if item[features] features)if best_metrics in results:best_metrics results[best_metrics]loss_records[serialized_features] {MSE: convert_numpy_types(best_metrics[mse]),MAE: convert_numpy_types(best_metrics[mae]),R2: convert_numpy_types(best_metrics[r2])}else:loss_records[serialized_features] {MSE: convert_numpy_types(results[mse]),MAE: convert_numpy_types(results[mae]),R2: convert_numpy_types(results[r2])}# 输出当前的 loss_records 以进行调试print(Current loss_records before saving: , loss_records)with open(loss_records_file, w) as f:json.dump(loss_records, f)# 再次读取并检查文件内容确保保存正确with open(loss_records_file, r) as f:loaded_loss_records json.load(f)print(Loaded loss_records after saving: , loaded_loss_records)# 更新进度条pbar.update(len(current_batch))print(所有批次处理完成。) pbar.close()# 最佳模型和每个特征组合的最佳模型保存到excel save_result_to_excel(strategy_name, all_evaluation_results, OUTPUT_FILE_NEURAL_NETWORK_PATH, weights)def save_result_to_excel(strategy_name, evaluation_results, file_path, weightsNone):数据保存到excel.Parameters:- evaluation_results 评估数据- file_path excel文件名称用来保存测试报告Returns:None# print(评估数据evaluation_results:, evaluation_results)strategy_func strategy_mapping.get(strategy_name)if strategy_func:num_params len(inspect.signature(strategy_func).parameters)if weights and num_params 1:best_result strategy_func(evaluation_results, weights)print(best_result assigned successfully:, best_result)else:best_result strategy_func(evaluation_results)print(best_result assigned successfully:, best_result)print(保存best_result, best_result)print() try: # 创建一个空列表来存储评估过程的结果evaluation_process_data []# 添加评估过程中的结果for result in evaluation_results:evaluation_process_data.append({Features: result[features],Best Parameters: result[best_params],Best Metrics: result[best_metrics]})# 创建DataFrame来存储评估过程的结果df_evaluation_process pd.DataFrame(evaluation_process_data)print(训练过程的数据df_evaluation_process, df_evaluation_process)# 创建一个空的DataFrame来存储最佳模型的结果df_best_model_results pd.DataFrame(columns[Features, Best Predictions])if best_result is not None:df_best_model_results.loc[0] {Features: best_result[features], # 使用best_result中的特征信息Best Predictions: best_result[predictions]}# 倒置最佳模型结果DataFrame的行列df_best_model_results_transposed df_best_model_results.transpose()# 创建一个新的 DataFrame用于存储转置后的数据以及其含义df_with_labels pd.DataFrame(columns[Label, Value])# 将原始表头作为索引添加到新 DataFrame 中for feature in df_best_model_results_transposed.index:# 获取转置后数据的值而不包括索引和数据类型信息value df_best_model_results_transposed.loc[feature].values[0]df_with_labels pd.concat([df_with_labels, pd.DataFrame({Label: [feature], Value: [value]})], ignore_indexTrue)# 保存最佳模型的结果到Excel文件with pd.ExcelWriter(file_path, enginexlsxwriter) as writer:df_with_labels.to_excel(writer, sheet_nameBest Model Results, indexFalse)print(执行了保存数据到excel,路径是:) print(file_path) else:print(best_result is None, cannot save to excel)logging.error(best_result is None, cannot save to excel)except Exception as e:print(f保存测试结果到excel: {e})logging.error(fsave result to excel: {e}) else:print(Invalid strategy name:, strategy_name)要点 清理多余记录在处理批次之前根据新的特征组合清理 loss_records 中多余的记录。更新所有评估结果即使跳过已处理的批次也将其评估结果添加到 all_evaluation_results 中以确保最终的最佳模型选择是基于所有特征组合。保存最佳结果到Excel保持 save_result_to_excel 函数逻辑不变确保从所有评估结果中选出最优模型并保存。 这样可以确保即使跳过了一些已处理的批次最终的最优模型仍然是从所有特征组合中选出的并且中间结果不会包含多余的记录。
http://www.w-s-a.com/news/214265/

相关文章:

  • 中国建设劳动协会网站wordpress 区块链媒体
  • 网站开源是什么意思西安做网站科技有限公司
  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司
  • 陵水网站建设友创科技十大优品店排名
  • 想换掉做网站的公司简要说明网站制作的基本步骤
  • 国企公司网站制作wordpress 浮动定位
  • 网站网页直播怎么做的企业网站建设推荐兴田德润
  • 网站建设熊猫建站厦门seo全网营销
  • 扁平网站设计seo是什么岗位的缩写
  • 工商企业网站群晖配置wordpress 80端口
  • 企业网站建设流程步骤镇江东翔网络科技有限公司
  • 网络工程师和做网站哪个难网络建站如何建成
  • 网站建设需要哪些项目游民星空是用什么做的网站
  • 旅游网站建设要如何做百度商城网站建设
  • destoon 网站搬家中国企业500强都有哪些企业
  • 商城网站前端更新商品天天做吗哈尔滨做网站优化