社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

持久的机器学习

jhammond • 5 年前 • 562 次点击  

我有一个超基本的机器学习问题。我一直在学习各种关于机器学习的教程和在线课程,以及学习如何使用机器的各种技术,但是我没有看到持久的应用程序。

例如,我训练一个网络来识别花园侏儒是什么样子的,但是,在我运行了训练集并用测试数据验证之后,我如何保持这个网络,以便我可以给它一张单独的图片,并让它告诉我图片是否是花园侏儒的?每个教程似乎都让您在培训/验证集中运行,而没有关于如何以有意义的方式托管网络以供将来使用的任何概念。

谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30536
 
562 次点击  
文章 [ 3 ]  |  最新文章 5 年前
Noman
Reply   •   1 楼
Noman    5 年前

使用python pickle库将经过培训的模型转储到硬盘上,加载模型并测试 持久的结果 .

Soltius
Reply   •   2 楼
Soltius    5 年前

这个问题更适合 Cross Validated Data Science 但要点是:训练完网络后,有一个程序通常被称为“冻结”,这意味着以“持久”的方式保存网络:重量不再改变,训练过程中发生的一些事情(如辍学)也会被丢弃。

您的网络保存在磁盘上的某个位置,然后可以使用专用功能重新加载。 然后,您可以像训练时那样将新图像传递到冻结的网络(例如 class=frozen_model(image) )

要获得更具体的信息,您应该指定正在使用的库。

0e1val
Reply   •   3 楼
0e1val    5 年前

一旦模型/网络通过测试/开发集进行了培训和验证,最佳实践就是“冻结”它的状态并将其用于预测。

要在应用程序中集成网络或模型,应该维护模型的状态并将其存储,通常模型存储在 serializing ,标记它并将其保存到有状态存储(数据库或本地磁盘)。

python提供了各种序列化方法和库,包括内置的 pickle . 作为补充,这里有一个非常短的部分 pickling