You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Requests加载GitHub机器学习模型时出现AttributeError问题求助

GitHub模型下载与加载问题解决

错误原因

  • 保存方式错误:requests.get(url).content返回的是字节流,你用pickle.dump把字节流存成文件,后续pickle.load读取到的只是原始字节数据,不是训练好的模型对象,自然没有predict方法。
  • 变量名拼写错误:代码里pd.DataFrame(x)中的x未定义(应该是input_array);modell.predict中的modell是笔误,应为model。

修正后的代码

import requests
import pickle
import os
from os.path import getcwd
import numpy as np
import pandas as pd

# 下载模型文件
url = "https://github.com/MUmairAB/Stroke-Prediction-using-Machine-Learning/blob/main/trained_model.sav?raw=true"
r = requests.get(url)
# 直接将字节流写入文件,而非用pickle.dump
with open(os.path.join(getcwd(), 'trained_model12.pkl'), 'wb') as f:
    f.write(r.content)

# 加载模型
model = pickle.load(open(os.path.join(getcwd(), 'trained_model12.pkl'), 'rb'))

# 准备输入数据并预测
input_array = np.array([[0,67,0,1,0,228.69,36.6],
                        [0,58,1,0,0,87.96,39.2]])
input_df = pd.DataFrame(input_array)
prediction = model.predict(input_df)
print(prediction)

其他可行方案

方案1:使用urllib下载

和requests逻辑一致,换用urllib库实现:

import urllib.request
import pickle
import os
from os.path import getcwd

url = "https://github.com/MUmairAB/Stroke-Prediction-using-Machine-Learning/blob/main/trained_model.sav?raw=true"
urllib.request.urlretrieve(url, os.path.join(getcwd(), 'trained_model12.pkl'))
model = pickle.load(open(os.path.join(getcwd(), 'trained_model12.pkl'), 'rb'))

方案2:在.py文件中执行git clone

如果习惯用git clone,可通过subprocess模块在Python脚本中执行克隆命令:

import subprocess
import pickle
import os
from os.path import getcwd

repo_url = "https://github.com/MUmairAB/Stroke-Prediction-using-Machine-Learning.git"
clone_path = os.path.join(getcwd(), 'stroke_model_repo')
# 克隆仓库
subprocess.run(["git", "clone", repo_url, clone_path], check=True)
# 加载模型
model_path = os.path.join(clone_path, 'trained_model.sav')
model = pickle.load(open(model_path, 'rb'))

内容的提问来源于stack exchange,提问作者Umair Akram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:42:44