Pytorch框架下训练网络的代码结构

2023-11-17

  PyTorch 是一个基于 Torch 的 Python 开源机器学习库,用于自然语言处理等应用程序,它主要由 Facebook 的人工智能研究小组开发。PyTorch 提供两个高级功能:(1) 具有强大的 GPU 加速的张量计算(如 NumPy);(2) 包含自动求导系统的深度神经网络。更多介绍详见官方网址:https://pytorch.org,也可以直接搜索 github 开源的:PyTorch 中文手册 (pytorch handbook)

1.设置网络参数

  首先介绍Python的argparse模块(python的标准库都可以在Pyhton官网上查到),是python用于解析命令行参数和选项的标准模块,作用就是为py文件封装好可以选择的参数,使他们更加灵活、丰富。使用步骤:

import argparse #导入模块
parser = argparse.ArgumentParser() #创建一个解析对象,一般只需要传入description参数
parser.add_argument() #添加需要关注的参数或者选项
#parser.add_argument('--input_dir', default='', type=str, help='input direction')
#字符串等命令行参数名,default未传参时的默认值,type参数类型(默认字符串str,还有float/int等类型),help运行参数不正确会打印描述信息。
args = parse_args() #进行解析
args.dataset #进行使用

  在机器学习领域,很多模型需要设置超参数,然而当超参数过多时,就会出现不方便管理的问题。为了提高代码的重用性,不用经常去修改代码内部,可以将所有的代码都变成模块化和可配置化。其中,yacs(Yet Another Configuration System)是Ross Girshick(Faster-RCNN的作者)创建的一个轻量级第三方库,用于定义和管理系统配置,这些“配置”通常包括用于训练机器学习模型的超参数或可配置模型超参数(如卷积神经网络的深度等概念)。有点类似于argparse,不过argparse需要在运行文件中写一堆parser.add_argument(),且运行时需要在命令行传入参数,而yacs写好之后就可以放到文档中, 非常清晰且方便管理。YACS的使用方法是,首先要创建一个项目配置文件,通常称为config.pydefault.py,它应该为所有选项提供合理的默认值;然后创建YAML配置文件,最好为每个实验做一个,并且每个配置文件仅覆盖该实验中正在更改的选项。

# config.py
from yacs.config import CfgNode as CN

# ---------------------------------------------- #
# system options
_C = CN()

_C.SYSTEM = CN()
# Number of GPUS to use in the experiment
_C.SYSTEM.NUM_GPUS = 8
# Number of workers for doing things
_C.SYSTEM.NUM_WORKERS = 4

# ---------------------------------------------- #
# Training options
_C.TRAIN = CN()

__C.TRAIN.EPOCH = 20

__C.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pytorch框架下训练网络的代码结构 的相关文章

随机推荐

  • 统计学中的方差分析

    文章目录 1 0 方差分析 1 1方差分析概念 1 2 单因素方差分析 1 2 1 单因素方差分析 1 2 2 方差分析基本数语 1 2 3 造成误差的原因 1 3 方差分析的3个假定 1 4 方差分析的步骤 2 0 总结 1 0 方差分析
  • vue3项目打包后整合到springboot项目中运行

    概述 一般来说 前后端分离项目 比如vue3 springboot的前后端分离项目 一般把vue3项目打包后部署到nginx或者tomcat上面 springboot项目单独打包 那如果想把vue3项目打包后直接部署到springboot项
  • 对矩阵的处理 MATLAB

    矩阵 1 创建矩阵 1 直接输入法s 1 1 2 2 3 3 4 4 结果如图 2 利用某些函数zeros或ones创建 3 复数矩阵 直接按照直接输入法来建立矩阵 但是元素可以直接打成复数的形式 a bj 2 还有就是分别建立一个实部还有
  • Android mob(sharesdk)微信分享/微信朋友圈分享/QQ分享/QQ空间分享/新浪微博分享(自定义)

    使用场景 H5混合开发转Android 原生开发 之前也是用的友盟分享 微信原生 QQ原生 微博原生分享 今天这个项目恰好是用的mob的sharesdk分享 老实说 还是第一次使用 一开始接手项目的时候 还以为mob是个后台 来一张效果图
  • pandorabox php7,新路由3newifi D2专用潘多拉PandoraBox固件SFE快速转发超强信号不掉速eeprom...

    今天就分享一个这次给新路由3 newifi3 PandoraBox 潘多拉固件下载刷的第三方固件潘多拉PandoraBox固件 PandoraBox是什么 PandoraBox 是基于LEDE OpenWrt框架高度定制的中文本地化固件 应
  • HTML语言中vw的用法,CSS中如何使用视窗单位

    视窗 Viewport 单位已经有了好几年了 但我们并没有看到它被经常使用 它们现在正在被所有的主流浏览器所支持并提供独特的功能使它在特定情况下非常有用 特别是那些涉及响应式的设计 介绍视窗 Viewport 单位 视窗 Viewport
  • arouter 自定生成autowired

    原文地址 Evil Mouth s Blog ARouter Autowired 自动注入 May 31 2020 前言 ARouter 有一个 Autowired 的注解 能自动帮我们赋值一些变量 例如 public class Main
  • HBase 维护--查看HLog和HFile

    查看HLog 看了一些文章 HBase高可靠性是实现了HLog Write ahead Log 机制 那么HLog到底存在哪里了呢 首先去HDFS的 hbase目录查看一下 hadoop fs ls R hbase 可以看到hbase下面有
  • MariaDB数据库服务器

    目录 一 什么是数据库 二 什么是关系型数据库 三 数据库字符集和排序规则是什么 四 常用数据类型 五 Mariadb数据库相关配置案例 一 什么是数据库 数据库 DB 是以一定方式长期存储在计算机硬盘内 能与多个用户共享 具有尽可能小的冗
  • android 自动获取短信,安卓app怎样获取短信验证码自动输入

    这个你要自己写吗 我建议你直接调用短信平台的接口不就可以了吗 短信发送 接口地址 String url http 183 203 28 5 9000 HttpSmsMt 下发时间 String mttime new SimpleDateFo
  • [翻译] ProtoBuf 官方文档(全)

    ProtoBuf CSDN搜索 https so csdn net so search q ProtoBuf t blog u chuifuhuo6864
  • nginx重启命令

    nginx s reload 修改配置后重新加载生效 nginx s reopen 重新打开日志文件 nginx t c path to nginx conf 测试nginx配置文件是否正确 关闭nginx nginx s stop 快速停
  • 解决在Anaconda下安装tensorflow报错的问题 ModuleNotFoundError: No module named ‘tensorflow‘

    解决在Anaconda下安装tensorflow报错的问题 Traceback most recent call last File line 1 in ModuleNotFoundError No module named tensorf
  • 宽字节注入入门详解

    原理 GBK 占用两字节 ASCII占用一字节 PHP中编码为GBK 函数执行添加的是ASCII编码 添加的符号为 MYSQL默认字符集是GBK等宽字节字符集 大家都知道 df 被PHP转义 开启GPC 用addslashes函数 或者ic
  • 第二章-注入漏洞

    第二章 注入漏洞 第一节 SQL注入原理 1 1 SQL注入的原因 语言分类 解释型语言和编译型语言 解释型语言是一种在运行时由一个运行时组件解释语言代码并执行其中包含的指令的语言 而编译型语言是代码在生成时转换为机器指令 然后在运行时直接
  • uniapp弹幕滚动到底部

    发布的弹幕至于最底部
  • 【linux】linux 离线安装 curl命令

    文章目录 1 概述 2 curl安装步骤 3 验证 原创不易 且行且珍惜 1 概述 最近在忙一个艰苦的环境 没有yarn界面 没有flink界面 没有es界面 没有kibana界面 条件艰苦 且行且艰险 这个环境发现es日志不入库 然后查看
  • 内网渗透工具-反向代理FRP

    内网渗透工具 反向代理FRP 0x1 简介 FRP是一个比较流行而且成熟的内网渗透工具 支持 TCP UDP HTTP HTTPS 等多种协议 0x2 前期准备 工具准备 可在官方github仓库下载 https github com fa
  • ‘mvn‘不是内部或外部命令

    解决方案有两种 一 1 如果没有安装maven 在IDEA中使用maven 提示mvn不是内部命令 需要在环境变量中的用户变量的Path中添加maven的bin路径 重启下IDEA即可 1 环境变量 用户 2 Path 添加IDEA下的ma
  • Pytorch框架下训练网络的代码结构

    PyTorch 是一个基于 Torch 的 Python 开源机器学习库 用于自然语言处理等应用程序 它主要由 Facebook 的人工智能研究小组开发 PyTorch 提供两个高级功能 1 具有强大的 GPU 加速的张量计算 如 NumP