ai-station-code/work_util/params.py

345 lines
15 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from pydantic import BaseModel, PositiveFloat, PositiveInt
import os
import pickle
from datetime import datetime
current_directory = os.getcwd()
class ModelParams():
config = {
'user': 'root',
'password': 'ai-station-root',
'host': '124.16.151.196',
'database': 'ai-station',
'port':12222
}
task_types_order = [
'回归预测任务',
'时序预测任务',
'计算机视觉任务',
'强化学习任务',
'自然语言处理任务',
'算法标注工具'
]
# 前缀dmsb 地貌识别
#
dmsb_count = True
dmsb_name_classes = ["_background_", "Cropland", 'Forest', 'Grass', 'Shrub', 'Wetland', 'Water', 'Tundra', 'Impervious surface', 'Bareland', 'Ice/snow']
dmsb_colors = [
(0, 0, 0), # Background (黑色)
(252, 250, 205), # Cropland (淡黄色)
(0, 123, 79), # Forest (深绿色)
(157, 221, 106), # Grass (浅绿色)
(77, 208, 159), # Shrub (浅蓝绿色)
(111, 208, 242), # Wetland (浅蓝色)
(10, 78, 151), # Water (深蓝色)
(92, 106, 55), # Tundra (土黄色)
(155, 36, 22), # Impervious surface (红色)
(205, 205, 205), # Bareland (灰色)
(211, 242, 255) # Ice/snow (浅天蓝色)
]
dmsb_type = {
"_background_" : "背景", # Background (黑色)
"Cropland" : "农田", # Cropland (淡黄色)
"Forest": "森林", # Forest (深绿色)
"Grass": "草地", # Grass (浅绿色)
"Shrub": "灌木", # Shrub (浅蓝绿色)
"Wetland": "湿地", # Wetland (浅蓝色)
"Water": "水体", # Water (深蓝色)
"Tundra": "苔原", # Tundra (土黄色)
"Impervious surface": "建筑", # Impervious surface (红色)
"Bareland": "裸地", # Bareland (灰色)
"Ice/snow": "冰雪" # Ice/snow (浅天蓝色)
}
# dmsb_type = {
# (0, 0, 0) : "背景", # Background (黑色)
# (252, 250, 205) : "农田", # Cropland (淡黄色)
# (0, 123, 79): "森林", # Forest (深绿色)
# (157, 221, 106): "草地", # Grass (浅绿色)
# (77, 208, 159): "灌木", # Shrub (浅蓝绿色)
# (111, 208, 242): "湿地", # Wetland (浅蓝色)
# (10, 78, 151): "水体", # Water (深蓝色)
# (92, 106, 55): "苔原", # Tundra (土黄色)
# (155, 36, 22): "建筑", # Impervious surface (红色)
# (205, 205, 205): "裸地", # Bareland (灰色)
# (211, 242, 255): "冰雪" # Ice/snow (浅天蓝色)
# }
# 前缀 wdpv 屋顶光伏
wdpv_palette = [0, 0, 0, 255, 0, 0, 0, 255, 0]
wdpv_colors = [(0, 0, 0), # 黑色
(255, 0, 0), # 红色
(0, 255, 0)] # 绿色
wd_type = {
(0, 0, 0):"背景",
(255, 0, 0): "屋顶",
(0, 255, 0):'其他'
}
pv_type = {
(0, 0, 0):"背景",
(255, 0, 0): "光伏",
(0, 255, 0):'其他'
}
wdpv_type = {
(0, 0, 0):"背景",
(255, 0, 0): "屋顶光伏",
(0, 255, 0):'其他'
}
# 煤热解
meirejie_model_dict = {
"adb_char" : "model/char_ADB.joblib",
"dtr_char": "model/char_DTR.joblib",
"en_char":"model/char_ElasticNet.joblib",
"gp_char":"model/char_GaussianProcessRegressor.joblib",
"kn_char":"model/char_KNeighborsRegressor.joblib",
"lasso_char":"model/char_Lasso.joblib",
"lr_char":"model/char_LinearRegression.joblib",
"rfr_char":"model/char_RFR.joblib",
"ridge_char":"model/char_Ridge.joblib",
"svr_char":"model/char_SVR.joblib",
"xgb_char":"model/char_XGB.joblib",
"adb_gas" : "model/gas_ADB.joblib",
"dtr_gas": "model/gas_DTR.joblib",
"en_gas":"model/gas_ElasticNet.joblib",
"gp_gas":"model/gas_GaussianProcessRegressor.joblib",
"kn_gas":"model/gas_KNeighborsRegressor.joblib",
"lasso_gas":"model/gas_Lasso.joblib",
"lr_gas":"model/gas_LinearRegression.joblib",
"rfr_gas":"model/gas_RFR.joblib",
"ridge_gas":"model/gas_Ridge.joblib",
"svr_gas":"model/gas_SVR.joblib",
"xgb_gas":"model/gas_XGB.joblib",
"adb_water" : "model/water_ADB.joblib",
"dtr_water": "model/water_DTR.joblib",
"en_water":"model/water_ElasticNet.joblib",
"gp_water":"model/water_GaussianProcessRegressor.joblib",
"kn_water":"model/water_KNeighborsRegressor.joblib",
"lasso_water":"model/water_Lasso.joblib",
"lr_water":"model/water_LinearRegression.joblib",
"rfr_water":"model/water_RFR.joblib",
"ridge_water":"model/water_Ridge.joblib",
"svr_water":"model/water_SVR.joblib",
"xgb_water":"model/water_XGB.joblib",
"adb_tar" : "model/tar_ADB.joblib",
"dtr_tar": "model/tar_DTR.joblib",
"en_tar":"model/tar_ElasticNet.joblib",
"gp_tar":"model/tar_GaussianProcessRegressor.joblib",
"kn_tar":"model/tar_KNeighborsRegressor.joblib",
"lasso_tar":"model/tar_Lasso.joblib",
"lr_tar":"model/tar_LinearRegression.joblib",
"rfr_tar":"model/tar_RFR.joblib",
"ridge_tar":"model/tar_Ridge.joblib",
"svr_tar":"model/tar_SVR.joblib",
"xgb_tar":"model/tar_XGB.joblib"
}
index = ['mae', 'r2', 'result']
columns = [
'XGBoost(极端梯度提升)',
'Linear Regression(线性回归)',
'Ridge Regression(岭回归)',
'Gaussian Process Regression(高斯过程回归)',
'ElasticNet Regression(弹性网回归)',
'K-Nearest Neighbors(K最近邻)',
'Support Vector Regression(支持向量回归)',
'Decision Tree Regression(决策树回归)',
'Random Forest Regression(随机森林回归)',
'AdaBoost Regression(AdaBoost回归)'
]
meirejie_model_list_gas = ['xgb_gas','lr_gas','ridge_gas','gp_gas','en_gas','kn_gas','svr_gas','dtr_gas','rfr_gas','adb_gas']
meirejie_model_list_char = ['xgb_char','lr_char','ridge_char','gp_char','en_char','kn_char','svr_char','dtr_char','rfr_char','adb_char']
meirejie_model_list_water = ['xgb_water','lr_water','ridge_water','gp_water','en_water','kn_water','svr_water','dtr_water','rfr_water','adb_water']
meirejie_model_list_tar = ['xgb_tar','lr_tar','ridge_tar','gp_tar','en_tar','kn_tar','svr_tar','dtr_tar','rfr_tar','adb_tar']
meirejie_gas_mae = [1.93, 3.15, 3.15,1.51, 3.15, 2.15, 2.98, 2.4, 2.42, 3.0]
meirejie_gas_r2 = [0.78, 0.68, 0.68,0.89,0.68, 0.75, 0.65, 0.74, 0.69, 0.62]
meirejie_char_mae = [5.38, 7.0, 7.03, 2.91, 7.03, 3.94,13.5,12.55, 4.8,6.39]
meirejie_char_r2 = [0.09, 0.01, 0.01, 0.8, 0.01, 0.7, 0.1,0.13, 0.16, 0.16]
meirejie_water_mae = [1.74,4.33,4.35,1.47,0.83,4.18,2.51,1.38,1.42]
meirejie_water_r2 = [0.87,0.47,0.46,0.89,0.45,0.98,0.23,0.67,0.89,0.95]
meirejie_tar_mae = [0.93,2.09,2.09,1.31,2.09,1.28,1.51,1.24,0.96,1.49]
meirejie_tar_r2 = [0.78,0.32,0.33,0.6,0.33,0.55,0.57,0.48,0.74,0.6]
meirejie_test_data = {
'tar':'tar_data_test.csv',
'char':'char_data_test.csv',
'water':'water_data_test.csv',
'gas':'gas_data_test.csv',
}
# 煤基碳材料
meijitancailiao_model_dict = {
"adb_ssa" : "model/SSA_ADB.joblib",
"dtr_ssa": "model/SSA_DTR.joblib",
"en_ssa":"model/SSA_ElasticNet.joblib",
"gp_ssa":"model/SSA_GaussianProcessRegressor.joblib",
"kn_ssa":"model/SSA_KNeighborsRegressor.joblib",
"lasso_ssa":"model/SSA_Lasso.joblib",
"lr_ssa":"model/SSA_LinearRegression.joblib",
"rfr_ssa":"model/SSA_RFR.joblib",
"ridge_ssa":"model/SSA_Ridge.joblib",
"svr_ssa":"model/SSA_SVR.joblib",
"xgb_ssa":"model/SSA_XGB.joblib",
"adb_tpv" : "model/TPV_ADB.joblib",
"dtr_tpv": "model/TPV_DTR.joblib",
"en_tpv":"model/TPV_ElasticNet.joblib",
"gp_tpv":"model/TPV_GaussianProcessRegressor.joblib",
"gdbt_tpv":"model/TPV_GDBT.joblib",
"kn_tpv":"model/TPV_KNeighborsRegressor.joblib",
"lasso_tpv":"model/TPV_Lasso.joblib",
"lr_tpv":"model/TPV_LinearRegression.joblib",
"rfr_tpv":"model/TPV_RFR.joblib",
"ridge_tpv":"model/TPV_Ridge.joblib",
"svr_tpv":"model/TPV_SVR.joblib",
"xgb_tpv":"model/TPV_XGB.joblib",
"adb_meitan" : "model/meitan_ADB.joblib",
"dtr_meitan": "model/meitan_DTR.joblib",
"en_meitan":"model/meitan_ElasticNet.joblib",
"gp_meitan":"model/meitan_GaussianProcessRegressor.joblib",
"gdbt_meitan":"model/meitan_GDBT.joblib",
"kn_meitan":"model/meitan_KNeighborsRegressor.joblib",
"lasso_meitan":"model/meitan_Lasso.joblib",
"lr_meitan":"model/meitan_LinearRegression.joblib",
"rfr_meitan":"model/meitan_RFR.joblib",
"ridge_meitan":"model/meitan_Ridge.joblib",
"svr_meitan":"model/meitan_SVR.joblib",
"xgb_meitan":"model/meitan_XGB.joblib",
"adb_meiliqing" : "model/meiliqing_ADB.joblib",
"dtr_meiliqing": "model/meiliqing_DTR.joblib",
"en_meiliqing":"model/meiliqing_ElasticNet.joblib",
"gp_meiliqing":"model/meiliqing_GaussianProcessRegressor.joblib",
"gdbt_meiliqing":"model/meiliqing_GDBT.joblib",
"kn_meiliqing":"model/meiliqing_KNeighborsRegressor.joblib",
"lasso_meiliqing":"model/meiliqing_Lasso.joblib",
"lr_meiliqing":"model/meiliqing_LinearRegression.joblib",
"rfr_meiliqing":"model/meiliqing_RFR.joblib",
"ridge_meiliqing":"model/meiliqing_Ridge.joblib",
"svr_meiliqing":"model/meiliqing_SVR.joblib",
"xgb_meiliqing":"model/meiliqing_XGB.joblib",
}
columns_ssa = [
'XGBoost(极端梯度提升)',
'Linear Regression(线性回归)',
'Ridge Regression(岭回归)',
'Gaussian Process Regression(高斯过程回归)',
'ElasticNet Regression(弹性网回归)',
'K-Nearest Neighbors(最近邻居算法)',
'Support Vector Regression(支持向量回归)',
'Decision Tree Regression(决策树回归)',
'Random Forest Regression(随机森林回归)',
'AdaBoost Regression(自适应提升回归)'
]
meijitancailiao_model_list_ssa = ['xgb_ssa','lr_ssa','ridge_ssa','gp_ssa','en_ssa','kn_ssa','svr_ssa','dtr_ssa','rfr_ssa','adb_ssa']
meijitancailiao_ssa_mae = [258, 407,408 ,282 ,411 ,389, 405, 288,193, 330]
meijitancailiao_ssa_r2 = [0.92,0.82,0.82,0.89,0.81,0.82,0.87,0.88,0.95,0.88]
columns_tpv = [
'XGBoost(极端梯度提升)',
'Linear Regression(线性回归)',
'Ridge Regression(岭回归)',
'Gaussian Process Regression(高斯过程回归)',
'ElasticNet Regression(弹性网回归)',
'Gradient Boosting Regression(梯度提升回归)',
'Support Vector Regression(支持向量回归)',
'Decision Tree Regression(决策树回归)',
'Random Forest Regression(随机森林回归)',
'AdaBoost Regression(自适应提升回归)'
]
meijitancailiao_model_list_tpv = ['xgb_tpv', 'lr_tpv', 'ridge_tpv', 'gp_tpv', 'en_tpv', 'gdbt_tpv', 'svr_tpv', 'dtr_tpv', 'rfr_tpv', 'adb_tpv']
meijitancailiao_tpv_mae = [0.2, 0.2, 0.2, 0.2, 0.2, 0.23, 0.23, 0.21, 0.16, 0.21]
meijitancailiao_tpv_r2 = [0.81, 0.81, 0.81, 0.8, 0.82, 0.80, 0.78, 0.73, 0.85, 0.84]
columns_meitan = [
'XGBoost(极端梯度提升)',
'Linear Regression(线性回归)',
'Ridge Regression(岭回归)',
'Gaussian Process Regression(高斯过程回归)',
'ElasticNet Regression(弹性网回归)',
'Gradient Boosting Regression(梯度提升回归)',
'Support Vector Regression(支持向量回归)',
'Decision Tree Regression(决策树回归)',
'Random Forest Regression(随机森林回归)',
'AdaBoost Regression(自适应提升回归)'
]
meijitancailiao_model_list_meitan = ['xgb_meitan', 'lr_meitan', 'ridge_meitan', 'gp_meitan', 'en_meitan', 'gdbt_meitan', 'svr_meitan', 'dtr_meitan', 'rfr_meitan', 'adb_meitan']
meijitancailiao_meitan_mae = [8.17, 37.61, 37.66, 13.41, 20.96, 8.03, 14.89, 19.48, 12.53, 15.6]
meijitancailiao_meitan_r2 = [0.96, 0.19, 0.19, 0.91, 0.8, 0.96, 0.88, 0.86, 0.91, 0.91]
columns_meiliqing = [
'XGBoost(极端梯度提升)',
'Linear Regression(线性回归)',
'Ridge Regression(岭回归)',
'Gaussian Process Regression(高斯过程回归)',
'ElasticNet Regression(弹性网回归)',
'Gradient Boosting Regression(梯度提升回归)',
'Support Vector Regression(支持向量回归)',
'Decision Tree Regression(决策树回归)',
'Random Forest Regression(随机森林回归)',
'AdaBoost Regression(自适应提升回归)'
]
meijitancailiao_model_list_meiliqing = ['xgb_meiliqing', 'lr_meiliqing', 'ridge_meiliqing', 'gp_meiliqing', 'en_meiliqing', 'gdbt_meiliqing', 'svr_meiliqing', 'dtr_meiliqing', 'rfr_meiliqing', 'adb_meiliqing']
meijitancailiao_meiliqing_mae = [8.38, 35.02, 35.1, 11.02, 13.58, 7.04, 13.13, 13.13, 11.25, 9.99]
meijitancailiao_meiliqing_r2 = [0.95, 0.33, 0.33, 0.94, 0.91, 0.97, 0.88, 0.89, 0.92, 0.94]
meijitancailiao_test_data = {
'ssa':'test_ssa.csv',
'tpv':'test_tpv.csv',
'meitan':'test_meitan.csv',
'meiliqing':'test_meiliqing.csv',
}
simu_model_dict = {
"adb" : ["model/SSA_ADB.joblib","model/TPV_ADB.joblib"],
"dtr": ["model/SSA_DTR.joblib","model/TPV_DTR.joblib"],
"en":["model/SSA_ElasticNet.joblib","model/TPV_ElasticNet.joblib"],
"gp":["model/SSA_GaussianProcessRegressor.joblib","model/TPV_GaussianProcessRegressor.joblib"],
"kn":["model/SSA_KNeighborsRegressor.joblib","model/TPV_KNeighborsRegressor.joblib"],
"lasso":["model/SSA_Lasso.joblib","model/TPV_Lasso.joblib"],
"lr":["model/SSA_LinearRegression.joblib","model/TPV_LinearRegression.joblib"],
"rfr":["model/SSA_RFR.joblib","model/TPV_RFR.joblib"],
"ridge":["model/SSA_Ridge.joblib","model/TPV_Ridge.joblib"],
"svr":["model/SSA_SVR.joblib","model/TPV_SVR.joblib"],
"xgb":["model/SSA_XGB.joblib","model/TPV_XGB.joblib"],
"gdbt":["model/SSA_GDBT.joblib","model/TPV_GDBT.joblib"]
}
ALLOWED_EXTENSIONS = {'.jpg', '.jpeg', '.png', '.tif'}
MAX_FILE_SIZE = 100 * 1024 * 1024 # 100 MB
MAX_FILE_SAM_SIZE = 10 * 1024 * 1024
DEFAULT_MODEL_PATH = r"/home/xiazj/ai-station-code/segment_anything_model/weights/vit_b.pth"