首页 > 其他分享 >机器学习工作流

机器学习工作流

时间:2023-08-05 23:35:51浏览次数:22  
标签:__ 机器 定义 训练 模型 用户 学习 工作 API

机器学习框架通常提供高层语言(比如 Python)作为给用户使用的接口,在 Python 层用户可以做的事有:

  • 数据处理:从不同的数据源读取数据,还可以做预处理,比如增强;

  • 模型定义:

    通常会定义一个或多个模型的结构,一般长这样:

    class Net():
    		def __init__(self):
    				xxx
        
    		def forward(self, input):
    				xxx
    

    __init__() 里定义模型需要的一些 module 或者 op,forward() 用来定义模型的前向结构,比如哪一层由哪些 op 哪些输入做了什么样的计算,也可以说这里是用户在定义“计算图”。

    反向就不用写了,现在框架基本都支持自动微分,梯度更新的时候框架会根据前向结构计算梯度;

  • 优化器定义:模型的输出需要和用户的标记进行对比,这个对比差异一般通过损失函数(Loss function)来进行评估。因此,优化器定义API允许用户定义自己的损失函数,并且根据损失来引入(Import)和定义各种优化算法(Optimisation algorithms)来计算梯度(Gradient),完成对模型参数的更新;

  • 训练:有了 dataset、模型、损失函数、优化器,用户一般需要自己写一个循环(比如多少个 epoch)来跑模型,跑一个训练集叫作一个 epoch,跑一个 batch size 叫作一个 step(或者 iter);

  • 测试:练过程中,用户需要测试API来对当前模型的精度进行评估。当精度达到目标后,训练结束。这一过程中,用户往往需要调试API来完成对模型的性能和正确性进行验证;

  • (可选)保存模型: 训练模型的过程中模型的参数会通过反向传播得到更新(一般初始时参数值是随机的),得到更新之后的模型参数我们可以用来部署或者继续训练(微调),有时候我们需要把模型参数保存下来,之后再训练可以在此基础上继续进行。

标签:__,机器,定义,训练,模型,用户,学习,工作,API
From: https://www.cnblogs.com/linrj/p/17608846.html

相关文章

  • k8s 学习笔记之 Service——Service 的使用
    实验环境准备在使用service之前,首先利用Deployment创建出3个pod,注意要为pod设置app=nginx-pod的标签创建deployment.yaml,内容如下:apiVersion:apps/v1kind:Deploymentmetadata:name:pc-deploymentnamespace:devspec:replicas:3selector:......
  • 机器学习框架的基本组成
    编程接口:一般用Python作为给用户的接口,主要原因就是简单易用、生态好;计算图:计算图定义了用户的机器学习程序,比如有哪些op、有哪些输入、输入长什么样、计算序列如何等,对于不同的编译器后端,有时候需要用IR来做优化,在mlsys中计算图就相当于是IR;编译器前端:前端的工作主要......
  • MyBatis 学习记录
    目录参考资料什么是MyBatis?Java如何操作数据库?JDBCApacheDbutilsSpringJDBCTemplate快速使用1.引入mybatisjar2.建表并生成实体类3.编写映射器4.编写mybatis-config.xml配置文件5.编写测试代码6.代码结构MyBatis核心API1.mybatis-config.xml1.1properties1.2......
  • 对IoC容器和Bean的学习笔记
    WhatWeMeanby"Spring"Theterm"Spring"meansdifferentthingsindifferentcontexts.ItcanbeusedtorefertotheSpringFrameworkprojectitself,whichiswhereitallstarted.Overtime,otherSpringprojectshavebeenbuilton......
  • 光敏电阻的学习
    光敏电阻的了解这个光敏电阻一般用来检测探头周围光线的强度(亮度),可以通过DO输出数字信号1和0,也可以通过AO口输出模拟信号以上为四针光敏电阻,一共有四个接口,分别是AO,DO,GND,VCCAO:模拟信号输出DO:开关信号输出GND:接电源负极VCC:接电源正极3.3-5V调节阈值:我们可以通过旋......
  • 学渣学习多旋翼无人机系列1——参考资料
    前言博主是十几年前自动化本科毕业,在工控相关行业摸爬滚打多年,如今从事嵌入式软件开发。作为一个中年还未秃头的男人,现在突然开始立志要学习无人机了???近期因为偶然的工作安排,需要详细了解一些无人机知识。当上了一些课程后,博主突然发现,这不是我们自动化专业理论嘛。博主大学没好......
  • 七月学习之Iptables基本匹配
    5、Iptables基本匹配我们前面在练习规则操作时,使用的"匹配条件"比较少,下面我们来了解下iptables匹配条件更多的用法5.1、iptables匹配参数5.2、iptables匹配示例1仅允许10.0.0.1访问10.0.0.200服务器的22端口、其他地址全部拒绝。#-I插入规则至第一行、—A追加规则、-s源地址、-d......
  • MySQL学习--索引
    索引的创建有利有弊,创建索引可以提高查询速度,但是过多的索引则会占据许多磁盘空间。因此,在创建索引之前,需要权衡利弊创建索引方式分为手动和自动索引自动索引:设置表中某个字段为主键或者唯一约束时,系统会自动创建关联该字段的唯一索引手动索引:手动在表上创建索引MySQL支持6种......
  • MySQL学习--普通索引
    在创建表时创建索引,已有表创建索引,altertable创建索引1.在创建表时创建索引createtableemp(enamevarchar(20),deptnoint(10)primarykeyauto_increment,indexindex_niu(deptno));explainselect*fromempwheredeptno=22; 2.已有表创建索引createtable......
  • MySQL学习--唯一索引
    唯一索引:就是创建索引时,限制索引的值必须唯一 1.在创建表时创建索引createtableemp(enamevarchar(20),deptnoint(10)primarykeyauto_increment,uniqueindexindex_niu(deptno));explainselect*fromempwheredeptno=22; 2.已有表创建索引createtable......