查看demo进行开发
最近有个想法,对一间教室的人流量和温度湿度做数据预测,根据时间的不同,其他三个参数也会有相应的变化
自己对机器学习这方面了解还不够深入,那就用华为的modelarts,进行AI开发,机器学习
并且把得到的数据放进django
准备数据
准备数据开发文档
进入创建桶
添加链接描述
桶里面的标签就这样吧
买了个包 才一块钱 创建成功
准备csv格式的数据
自己根据以往的经验创造数据,用我这样的数据,载入下面的代码,应该,生成.csv数据
import re
import pandas
import csv
WeatherCSV=[]
with open("shuju.txt", "r") as f: # 打开文件
for line in f.readlines():
line = line.strip('\n') # 去掉列表中每一个元素的换行符
num = re.findall('\d+', line)
print(num)#时间,温度,湿度,人数
# 开始编写csv
time = int(num[0])
wendu = int(num[1])
shidu = int(num[2])
people = int(num[3])
WeatherCSV.append(pandas.DataFrame(
{'time': time, 'wendu': wendu, 'shidu': shidu, 'people': people, },index=[0]
))
table=pandas.concat(WeatherCSV)
table.to_csv('beijingWeather.csv',index=True)
上传对象
上传对象 demo
一定要加文件夹,在文件夹里上传
创建项目
登录ModelArts管理控制台,进行预测分析
创建项目咯
注意:箭头表示预测的结果,用多个数值来预测一个,把想要预测的数值填入
开始交钱
正在训练中
训练完成
部署上线
上线后,可以进行预测,要使用json字符串,对想知道的参数进行预测
比如下面这个json格式
{"data": {"count": 1, "req_data": [{"attr_1": "0", "attr_2": "12", "attr_3": "", "attr_4": "39", "attr_5": "13"}]}}
我们可以用python的request 生成json
import requests
import json
url = "https://cbc5c0947067471eb9a103c557e69423.apig.cn-north-4.huaweicloudapis.com/v1/infers/9bfcf916-222a-4c63-94cd-94b1954f3e07 "
HEADERS = { "Content-Type": "application/json;charset=UTF-8","User-Agent": "API Explorer","X-Auth-Token": "***", }
FormData = {
"data": {
"count": 1,
"req_data": [
{
"attr_1": "0",
"attr_2": "12",
"attr_3": "",
"attr_4": "39",
"attr_5": "13",
}
]
}
}
print(json.dumps(FormData))
res = requests.post(url=url,data=json.dumps(FormData),headers=HEADERS)
print(res.text)
写入自己的django
参考demo
我们就改写参数就好啦,把之前的json字符串传入
关键在于,把之前的json改为str,服务器才会准确读到数据
# coding=utf-8
import requests
from apig_sdk import signer
if __name__ == '__main__':
sig = signer.Signer()
sig.Key = "4MSDTDVTPSTEDCYFDXOS"
sig.Secret = "kLluTIa57HabASGp4bxrfytKUwCSWbbYlCLHoYm1"
data = {"data": {"count": 1, "req_data": [{"attr_1": "0", "attr_2": "12", "attr_3": "", "attr_4": "39", "attr_5": "13"}]}}
r = signer.HttpRequest("POST",
"https://32eef1fce4cd425daba63a5778530b19.apig.cn-north-4.huaweicloudapis.com/v1/infers/1bba1484-a27c-4a77-b2f0-8f4862cc8993",
{"x-stage": "RELEASE"},
str(data))
sig.Sign(r)
print(r.body)
print(r.headers["X-Sdk-Date"])
print(r.headers["Authorization"])
resp = requests.request(r.method, r.scheme + "://" + r.host + r.uri, headers=r.headers, data=r.body)
print(resp.status_code, resp.reason)
print(resp.content)