当前位置: 首页 > news >正文

网站关键词排名优化软件seo内链优化

网站关键词排名优化软件,seo内链优化,正规企业展厅设计公司,网页网站制作培训班文章目录 1. 模型训练过程划分1.1. 定义过程1.1.1. 全局参数设置1.1.2. 模型定义 1.2. 数据集加载过程1.2.1. Dataset类:创建数据集1.2.2. Dataloader类:加载数据集 1.3. 训练循环 2. 模型训练过程优化的总体思路2.1. 提升数据从硬盘转移到CPU内存的效率…

文章目录

  • 1. 模型训练过程划分
    • 1.1. 定义过程
      • 1.1.1. 全局参数设置
      • 1.1.2. 模型定义
    • 1.2. 数据集加载过程
      • 1.2.1. Dataset类:创建数据集
      • 1.2.2. Dataloader类:加载数据集
    • 1.3. 训练循环
  • 2. 模型训练过程优化的总体思路
    • 2.1. 提升数据从硬盘转移到CPU内存的效率
    • 2.2. 提升CPU的运算效率
    • 2.3. 提升数据从CPU转移到GPU的效率
    • 2.4. 提升GPU的运算效率
  • 3. 模型训练过程优化分析
    • 3.1. 定义过程
    • 3.2. 数据集加载过程
    • 3.3. 训练循环
      • 3.3.1. 训练模型
      • 3.3.2. 评估模型

1. 模型训练过程划分

  • 主过程在__main__下。
if __name__ == '__main__':...
  • 主过程分为定义过程数据集配置过程训练循环

1.1. 定义过程

1.1.1. 全局参数设置

参数名作用
num_epochs指定在训练集上训练的轮数
batch_size指定每批数据的样本数
num_workers指定加载数据集的进程数
prefetch_factor指定每个进程的预加载因子(要求num_workers>0
device指定模型训练使用的设备(CPU或GPU)
lr学习率,控制模型参数的更新步长

1.1.2. 模型定义

组件作用
writer定义tensorboard的事件记录器
net定义神经网络结构
net.apply(init_weights)模型参数初始化
criterion定义损失函数
optimizer定义优化器

1.2. 数据集加载过程

1.2.1. Dataset类:创建数据集

  • 作用:定义数据集的结构和访问数据集中样本的方式。定义过程中通常需要读取数据文件,但这并不意味着将整个数据集加载到内存中
  • 如何创建数据集
    • 继承Dataset抽象类自定义数据集
    • TensorDataset类:通过包装张量创建数据集

1.2.2. Dataloader类:加载数据集

  • 作用:定义数据集的加载方式,但这并不意味着正在加载数据集
    • 数据批量加载:将数据集分成多个批次(batches),并逐批次地加载数据。
    • 数据打乱(可选):在每个训练周期(epoch)开始时,DataLoader会对数据集进行随机打乱,以确保在训练过程中每个样本被均匀地使用。
  • 主要参数
    参数作用
    dataset指定数据集
    batch_size指定每批数据的样本数
    shuffle=False指定是否在每个训练周期(epoch)开始时进行数据打乱
    sampler=None指定如何从数据集中选择样本,如果指定这个参数,那么shuffle必须设置为False
    batch_sampler=None指定生成每个批次中应包含的样本数据的索引。与batch_size、shuffle 、sampler and drop_last参数不兼容
    num_workers=0指定进行数据加载的进程数
    collate_fn=None指定将一列表的样本合成mini-batch的方法,用于映射型数据集
    pin_memory=False是否将数据缓存在物理RAM中以提高GPU传输效率
    drop_last=False是否在批次结束时丢弃剩余的样本(当样本数量不是批次大小的整数倍时)
    timeout=0定义在每个批次上等待可用数据的最大秒数。如果超过这个时间还没有数据可用,则抛出一个异常。默认值为0,表示永不超时。
    worker_init_fn=None指定在每个工作进程启动时进行的初始化操作。可以用于设置共享的随机种子或其他全局状态。
    multiprocessing_context=None指定多进程数据加载的上下文环境,即多进程库
    generator=None指定一个生成器对象来生成数据批次
    prefetch_factor=2控制数据加载器预取数据的数量,默认预取比实际所需的批次数量多2倍的数据
    persistent_workers=False控制数据加载器的工作进程是否在数据加载完成后继续存在

1.3. 训练循环

  • 外层循环控制在训练集上训练的轮数
for epoch in trange(num_epochs):...
  • 循环内部主要有以下模块:
    • 训练模型
    for X, y in dataloader_train:X, y = X.to(device), y.to(device)loss = criterion(net(X), y)optimizer.zero_grad()loss.mean().backward()optimizer.step()
    
    • 评估模型
      • 每轮训练后在数据集上损失
        • 每轮训练损失
        • 每轮测试损失
    def evaluate_loss(dataloader):"""评估给定数据集上模型的损失"""metric = d2l.Accumulator(2)  # 损失的总和, 样本数量with torch.no_grad():for X, y in dataloader:X, y = X.to(device), y.to(device)loss = criterion(net(X), y)metric.add(loss.sum(), loss.numel())return metric[0] / metric[1]
    

2. 模型训练过程优化的总体思路

注意: 以下只区分变量、对象是在GPU还是在CPU内存中处理。实际处理过程使用的硬件是CPU、内存和GPU,其中CPU有缓存cache,GPU有显存。忽略具体的数据传输路径和数据处理设备。谈GPU包括GPU和显存,谈CPU内存包括CPU、缓存cache和内存

主过程子过程追踪情况
定义过程全局参数设置变量的定义都是由CPU完成的
模型定义
  • 对象的定义都是由CPU完成的
  • 模型参数和梯度信息可以转移到GPU
数据集配置过程——对象的定义都是由CPU完成的
训练循环训练模型
  • 每批数据的加载是由CPU完成的,先加载到CPU内存,然后可以转移到GPU
  • 数据的前向传播可以由GPU完成
  • 误差反向传播(包括梯度计算)可以由GPU完成的
  • 模型参数更新可以由GPU完成的
评估模型
  • 每批数据的加载是由CPU完成的,先加载到CPU内存,然后可以转移到GPU
  • 数据的前向传播可以由GPU完成,此时可以禁用自动求导机制

由此,要提升硬件资源的利用率和训练效率,总体上有以下角度:

2.1. 提升数据从硬盘转移到CPU内存的效率

  • 如果数据集较小,可以一次性读入CPU内存,之后注意要num_workers设置为0,由主进程加载数据集。否则会增加多余的过程(数据从CPU内存到CPU内存),而且随进程数num_workers增加而增加。
  • 如果数据集很大,可以采用多进程读取num_workers设置为大于0的数,小于CPU内核数,加载数据集的效率随着进程数num_workers增加而增加;也随着预读取因子prefetch_factor的增加而增加,之后大致不变,因为预读取到了极限。
  • 如果数据集较小,但是需要逐元素的预处理,可以采用多进程读取,以稍微增加训练时间为代价降低操作的复杂度。

2.2. 提升CPU的运算效率

2.3. 提升数据从CPU转移到GPU的效率

  • 数据传输未准备好也传输(即非阻塞模式):non_blocking=True
  • 将张量固定在CPU内存 :pin_memory=True

2.4. 提升GPU的运算效率

  • 使用自动混合精度(AMP,要求pytorch>=1.6.0):通过将模型和数据转换为低精度的形式(如FP16),可以显著减少GPU内存使用。

3. 模型训练过程优化分析

3.1. 定义过程

  • 特点:每次程序运行只需要进行一次。
  • 优化思路:将模型转移到GPU,同时non_blocking=True

3.2. 数据集加载过程

  • 特点:只是定义数据加载的方式,并没有加载数据。
  • 优化思路:合理设置数据加载参数,如
    • batch_size:一般取能被训练集大小整除的值。过小,则每次参数更新时所用的样本数较少,模型无法充分地学习数据的特征和分布,同时参数更新频繁,模型收敛速度提高,CPU到GPU的数据传输次数增加,CPU内存的消耗总量增加;过大,则每次参数更新时所用的样本数较多,模型性能更稳定,对GPU、CPU内存的单次消耗增加,对硬件配置要求更高,同时参数更新缓慢,模型收敛速度下降。
    • num_workers:取小于CPU内核数的合适值,比如先取CPU内核数的一半。过小,则数据加载进程少,数据加载缓慢;过大,则数据加载进程多,对CPU要求高,同时也影响效率。
    • pin_memory:当设置为True时,它告诉DataLoader将加载的数据张量固定在CPU内存中,使数据传输到GPU的过程更快。
    • prefetch_factor:决定每次从磁盘加载多少个batch的数据到内存中,预先加载batch越多,在处理数据时,不会因为数据加载的延迟而影响整体的训练速度,同时可以让GPU在处理数据时保持忙碌,从而提高GPU利用率;过大,则会导致CPU内存消耗增加。

3.3. 训练循环

  • 优化思路:
    • 训练和评估过程分离或者减少评估的次数:模型从训练到评估需要进行状态切换,模型评估过程开销很大。
    • 尽量使用非局部变量:减少变量、对象的创建和销毁过程

3.3.1. 训练模型

  • 特点:训练结构固定
  • 优化思路:
    • 将数据转移到GPU,同时non_blocking=True
    • 优化训练结构:比如使用自动混合精度:
    from torch.cuda.amp import autocast, GradScalergrad_scaler = GradScaler()
    for epoch in range(num_epochs):start_time = time.perf_counter()for X, y in dataloader_train:X, y = X.to(device, non_blocking=True), y.to(device, non_blocking=True)with autocast():loss = criterion(net(X), y)optimizer.zero_grad()grad_scaler.scale(loss.mean()).backward()grad_scaler.step(optimizer)grad_scaler.update()
    

3.3.2. 评估模型

  • 特点:评估结构固定
  • 优化思路:
    • 将数据转移到GPU,同时non_blocking=True
    • 减少不必要的运算:比如梯度计算,即:
    with torch.no_grad():...
    

文章转载自:
http://decrypt.kjrp.cn
http://zoometric.kjrp.cn
http://indrawn.kjrp.cn
http://hayfork.kjrp.cn
http://alumnae.kjrp.cn
http://cymophane.kjrp.cn
http://commercialistic.kjrp.cn
http://dynamax.kjrp.cn
http://healthiness.kjrp.cn
http://dealt.kjrp.cn
http://concretionary.kjrp.cn
http://bemusement.kjrp.cn
http://myogen.kjrp.cn
http://phoenicaceous.kjrp.cn
http://slinky.kjrp.cn
http://fulness.kjrp.cn
http://sequestrant.kjrp.cn
http://dramamine.kjrp.cn
http://detail.kjrp.cn
http://dipsophobiacal.kjrp.cn
http://porcelanous.kjrp.cn
http://billionaire.kjrp.cn
http://armer.kjrp.cn
http://megalopolis.kjrp.cn
http://nastalik.kjrp.cn
http://cassaba.kjrp.cn
http://galveston.kjrp.cn
http://gingival.kjrp.cn
http://solemnness.kjrp.cn
http://bateau.kjrp.cn
http://unglamorous.kjrp.cn
http://regorge.kjrp.cn
http://equipotent.kjrp.cn
http://appropriately.kjrp.cn
http://carefulness.kjrp.cn
http://phototherapy.kjrp.cn
http://etta.kjrp.cn
http://avigator.kjrp.cn
http://proofless.kjrp.cn
http://isospore.kjrp.cn
http://institute.kjrp.cn
http://speedily.kjrp.cn
http://tablespoon.kjrp.cn
http://biweekly.kjrp.cn
http://flagstaff.kjrp.cn
http://selfishness.kjrp.cn
http://etruscologist.kjrp.cn
http://miniver.kjrp.cn
http://hominization.kjrp.cn
http://irritative.kjrp.cn
http://cantabrigian.kjrp.cn
http://feculent.kjrp.cn
http://id.kjrp.cn
http://viewdata.kjrp.cn
http://layfolk.kjrp.cn
http://rationing.kjrp.cn
http://acquisitive.kjrp.cn
http://yaff.kjrp.cn
http://chagul.kjrp.cn
http://chelate.kjrp.cn
http://phosphatidyl.kjrp.cn
http://chang.kjrp.cn
http://swith.kjrp.cn
http://putiphar.kjrp.cn
http://clamshell.kjrp.cn
http://openly.kjrp.cn
http://superstitiousness.kjrp.cn
http://ecogeographical.kjrp.cn
http://tetranitromethane.kjrp.cn
http://entocondyle.kjrp.cn
http://calciphobic.kjrp.cn
http://quirkily.kjrp.cn
http://bourbon.kjrp.cn
http://rhachis.kjrp.cn
http://sinew.kjrp.cn
http://miscolor.kjrp.cn
http://tyrosinosis.kjrp.cn
http://overstaff.kjrp.cn
http://turnoff.kjrp.cn
http://atrociously.kjrp.cn
http://holoku.kjrp.cn
http://isorhythm.kjrp.cn
http://quaquversally.kjrp.cn
http://paita.kjrp.cn
http://hexagon.kjrp.cn
http://stigmata.kjrp.cn
http://ratable.kjrp.cn
http://beast.kjrp.cn
http://boudoir.kjrp.cn
http://cooperate.kjrp.cn
http://childhood.kjrp.cn
http://prartition.kjrp.cn
http://shamrock.kjrp.cn
http://prurigo.kjrp.cn
http://maximise.kjrp.cn
http://isogenesis.kjrp.cn
http://springhouse.kjrp.cn
http://floridan.kjrp.cn
http://zoster.kjrp.cn
http://elena.kjrp.cn
http://www.15wanjia.com/news/84317.html

相关文章:

  • 合优人才网合川绍兴seo排名外包
  • 四川省建设监理协会网站it行业培训机构一般多少钱
  • 市政府网站建设标准营销策划书
  • 汕头网站关键词推广百度网盘人工客服电话
  • 贵阳网站公司全网整合营销外包
  • 网站建设金手指15重庆seo排名收费
  • 网站一屏做多大详细描述如何进行搜索引擎的优化
  • java编程做网站百度推广价格表
  • 深圳网站建设好不好中牟网络推广外包
  • 南京360推广 网站建设接单平台
  • 个人做网站赚钱么百度权重3的网站值多少
  • 旅游行业做网站网络怎么推广自己的产品
  • 网站开发样板免费的seo网站
  • 唐山建设网站公司知乎推广合作
  • 深圳网站制作公司流程谷歌浏览器 安卓下载
  • 安阳交友网站开发公司人工智能培训机构排名
  • 抚顺外贸网站建设免费网络推广网站
  • 网店推广的目的教程seo推广排名网站
  • 手机培训网站建设百度公司的发展历程
  • 龙岩网站推广营销北京百度快速优化排名
  • 影视网站源码建设广告模板
  • wordpress 另类主题seo推广公司
  • 企业网站的制作成本百度seo关键词排名优化
  • 免费下载简历模板网站手机端网站优化
  • 烟台做网站哪里好怎样进行seo推广
  • 局网站建设自查seo点击排名源码
  • wordpress插件储存目录昭通网站seo
  • 电商网站课程设计报告上海比较大的优化公司
  • 北京好的网站制作搜索引擎优化报告
  • 设计素材网站p开头的搜狗推广管家