You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.5 KiB
Python
109 lines
3.5 KiB
Python
from pydantic import BaseModel
|
|
import requests
|
|
import argparse
|
|
|
|
def main(server: str, port: int):
|
|
# 模拟发送的特征数据
|
|
features_data1 = {
|
|
"somatization": 0.5,
|
|
"obsessive_compulsive": 0.3,
|
|
"interpersonal_sensitivity": 0.7,
|
|
"depression": 0.6,
|
|
"anxiety": 0.8,
|
|
"hostility": 0.4,
|
|
"terror": 0.2,
|
|
"paranoia": 0.1,
|
|
"psychoticism": 0.9,
|
|
"other": 0.2,
|
|
"father_parenting_style": 2,
|
|
"mother_parenting_style": 3,
|
|
"self_assessed_family_economic_condition": 4,
|
|
"history_of_psychological_counseling": 1,
|
|
"absenteeism_above_average": True,
|
|
"academic_warning": False,
|
|
"label": -1
|
|
}
|
|
features_data2 = {
|
|
"somatization": 4.3,
|
|
"obsessive_compulsive": 4.1,
|
|
"interpersonal_sensitivity": 3.8,
|
|
"depression": 4,
|
|
"anxiety": 4.2,
|
|
"hostility": 4.2,
|
|
"terror": 4,
|
|
"paranoia": 4.2,
|
|
"psychoticism": 3.8,
|
|
"other": 3.6,
|
|
"father_parenting_style": 1,
|
|
"mother_parenting_style": 0,
|
|
"self_assessed_family_economic_condition": 0,
|
|
"history_of_psychological_counseling": False,
|
|
"absenteeism_above_average": True,
|
|
"academic_warning": True,
|
|
"label": -1
|
|
}
|
|
features_data3 = {
|
|
"somatization": 1.1,
|
|
"obsessive_compulsive": 2.3,
|
|
"interpersonal_sensitivity": 2.6,
|
|
"depression": 2.2,
|
|
"anxiety": 1.6,
|
|
"hostility": 1.5,
|
|
"terror": 1.6,
|
|
"paranoia": 1.5,
|
|
"psychoticism": 1.2,
|
|
"other": 1.3,
|
|
"father_parenting_style": 1,
|
|
"mother_parenting_style": 1,
|
|
"self_assessed_family_economic_condition": 1,
|
|
"history_of_psychological_counseling": False,
|
|
"absenteeism_above_average": False,
|
|
"academic_warning": False,
|
|
"label": -1
|
|
}
|
|
features_data4 = {
|
|
"somatization": 1.5,
|
|
"obsessive_compulsive": 2.4,
|
|
"interpersonal_sensitivity": 2.2,
|
|
"depression": 3.2,
|
|
"anxiety": 1.6,
|
|
"hostility": 1.5,
|
|
"terror": 3.1,
|
|
"paranoia": 1.5,
|
|
"psychoticism": 1.9,
|
|
"other": 2.6,
|
|
"father_parenting_style": 1,
|
|
"mother_parenting_style": 1,
|
|
"self_assessed_family_economic_condition": 0,
|
|
"history_of_psychological_counseling": False,
|
|
"absenteeism_above_average": False,
|
|
"academic_warning": False,
|
|
"label": -1
|
|
}
|
|
|
|
# 必须是 features_list, 前面出现了只有一个样本时测不准,考虑是用了样本间归一化的原因,现在么有用了
|
|
features_data_list = [features_data4, features_data2, features_data3, features_data1]
|
|
|
|
# 构建请求 URL
|
|
url = f"http://{server}:{port}/inference/"
|
|
|
|
# 发送 POST 请求
|
|
response = requests.post(url, json=features_data_list)
|
|
|
|
if response.status_code == 200:
|
|
# 获取分类结果列表
|
|
classified_results = response.json()
|
|
print(classified_results) # 这里的 classified_results 就是返回的列表对象
|
|
else:
|
|
print("请求失败:", response.text)
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description="发送特征数据到服务器进行推断")
|
|
parser.add_argument("--server", type=str, default="127.0.0.1", help="服务器地址")
|
|
parser.add_argument("--port", type=int, default=8088, help="服务器端口")
|
|
|
|
args = parser.parse_args()
|
|
main(args.server, args.port)
|
|
input("任意键结束!")
|
|
|