从django加载序列化文件

时间:2016-10-19 22:24:05

标签: azure django-views pickle joblib

我在django项目中保存了一些训练有素的机器学习模型,它涉及多个文件(xp + x_01.npy + ... + x_0n.npy),我试图在views.py中加载它们,得到了找不到文件异常,想知道在django中使用joblib或pickle进行反序列化的正确方法是什么

def home(request):

    classifierDumpFilesDir = os.path.join(settings.BASE_DIR,'myfiles\ExportedFileName.p')
    classifier = joblib.load(classifierDumpFilesDir)
    prediction = classifier.predict([2,0])



    return render(
        request,
        'app/index.html',
        {
            'title':'Home Page',
            'year':datetime.now().year,
        }
    )

1 个答案:

答案 0 :(得分:0)

按照此问题的说明开始工作

Read a local file in django

joblib的工作方式与io文件打开的方式相同,但是出现了另一个问题,它需要python虚拟环境才能发布到Azure。并且pip不能正确地发送sklearn包,如本文所述

http://velin-georgiev-blog.appspot.com/blog/how-to-install-numpy-matplotlib-pylab-scipy-on-visual-studio-ptvs-virtual-environment-virtualenv-on-azure

我仍然没有弄清楚如何在虚拟环境中安装sklearn