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

新网站上线 怎么做seoseo排名软件免费

新网站上线 怎么做seo,seo排名软件免费,window7 iis建立网站,主流网站开发技术框架目录 1. 背景2. 原因分析2.1 train代码分析2.2 strip_optimizer函数分析 3. 验证 1. 背景 最近使用tph-yolov5训练yolov5l-tph-plus模型时,发现模型收敛的差不多了,就果断的停止了训练,结果发现last.pt和best.pt竟然488M,而正常训…

目录

  • 1. 背景
  • 2. 原因分析
    • 2.1 train代码分析
    • 2.2 strip_optimizer函数分析
  • 3. 验证

1. 背景

最近使用tph-yolov5训练yolov5l-tph-plus模型时,发现模型收敛的差不多了,就果断的停止了训练,结果发现last.pt和best.pt竟然488M,而正常训练完成的模型仅有82M.。

2. 原因分析

2.1 train代码分析

查看代码发现train.py中,训练结束后有这么一段代码:

# end training -----------------------------------------------------------------------------------------------------if RANK in [-1, 0]:LOGGER.info(f'\n{epoch - start_epoch + 1} epochs completed in {(time.time() - t0) / 3600:.3f} hours.')for f in last, best:if f.exists():strip_optimizer(f)  # strip optimizersif f is best:LOGGER.info(f'\nValidating {f}...')results, _, _ = val.run(data_dict,batch_size=batch_size // WORLD_SIZE * 2,imgsz=imgsz,model=attempt_load(f, device).half(),iou_thres=0.65 if is_coco else 0.60,  # best pycocotools results at 0.65single_cls=single_cls,dataloader=val_loader,save_dir=save_dir,save_json=is_coco,verbose=True,plots=True,callbacks=callbacks,compute_loss=compute_loss)  # val best model with plotsif is_coco:callbacks.run('on_fit_epoch_end', list(mloss) + list(results) + lr, epoch, best_fitness, fi)callbacks.run('on_train_end', last, best, plots, epoch, results)LOGGER.info(f"Results saved to {colorstr('bold', save_dir)}")

而其中处理文件压缩的是strip_optimizer(f)

2.2 strip_optimizer函数分析

该函数位于utils/general.py中

def strip_optimizer(f='best.pt', s=''):  # from utils.general import *; strip_optimizer()# Strip optimizer from 'f' to finalize training, optionally save as 's'x = torch.load(f, map_location=torch.device('cpu'))if x.get('ema'):x['model'] = x['ema']  # replace model with emafor k in 'optimizer', 'training_results', 'wandb_id', 'ema', 'updates':  # keysx[k] = Nonex['epoch'] = -1x['model'].half()  # to FP16for p in x['model'].parameters():p.requires_grad = Falsetorch.save(x, s or f)mb = os.path.getsize(s or f) / 1E6  # filesizeprint(f"Optimizer stripped from {f},{(' saved as %s,' % s) if s else ''} {mb:.1f}MB")

该函数用于从给定的模型文件(‘f’)中剥离优化器,并可选择性地将剥离后的模型保存为新文件(‘s’)。具体操作包括:

将模型文件加载到CPU上;
如果存在’ema’,则用’ema’替换’model’;
将’optimizer’、‘training_results’、‘wandb_id’、'ema’和’updates’这几个键的值设为None;
将’epoch’设为-1;
将模型转换为FP16;
将模型的所有参数设置为不需要梯度;
将处理后的模型保存到文件’s’中,如果’s’为空则保存到文件’f’中;
计算文件大小并输出剥离优化器后的文件名和大小。

早停没有经过该函数,因此模型精度是FP32,没有去除优化器等信息,因此模型比较大。

3. 验证

写代码调用strip_optimizer对488的模型进行处理,代码如下:

from pathlib import Path
import sys
import osFILE = Path(__file__).resolve()
ROOT = FILE.parents[0]  # YOLOv5 root directory
if str(ROOT) not in sys.path:sys.path.append(str(ROOT))  # add ROOT to PATH
ROOT = Path(os.path.relpath(ROOT, Path.cwd()))  # relativefrom utils.general import LOGGER, check_dataset, check_file, check_git_status, check_img_size, check_requirements, \check_suffix, check_yaml, colorstr, get_latest_run, increment_path, init_seeds, labels_to_class_weights, \labels_to_image_weights, methods, one_cycle, print_args, print_mutation, strip_optimizerif __name__ == '__main__':save_dir = r'E:/code/other/tph-yolov5-main/runs/train/v5l-tph-plus3/'w = save_dir + 'weights/'  # weights dirlast, best = w + 'last.pt', w + 'best.pt'for f in last, best:#if f.exists():strip_optimizer(f)

结果模型从488M变为了82M,验证成功。

http://www.mmbaike.com/news/54722.html

相关文章:

  • 个人做网站要缴税东莞优化疫情防控措施
  • 织梦怎么做网站seo外包公司怎么样
  • 南昌中企动力做的网站怎么样培训网页
  • 建设网站 程序员的提成域名停靠网页app推广大全
  • 个人网站要求网站维护费用
  • 手机网站案例怎么注册自己的网址
  • 如何搭建视频网站seo俱乐部
  • 住房与城乡建设部网站职责竞价推广哪家公司好
  • 做艺术教育的网站站长工具seo客户端
  • 一个网站如何工作流程全国最好网络优化公司
  • 安装安全狗网站打不开地推接单正规平台
  • 建设好网站新闻发布
  • 想做个卷帘门百度优化网站宁波seo教程行业推广
  • 网站被泛解析近三天的国内外大事
  • wordpress 主题免费福州seo代理商
  • 做流程图网站seo白帽优化
  • 深远互动 网站建设国内好的seo
  • 建设网站的颜色优化网站排名需要多少钱
  • 怎么自己做五合一网站厦门seo怎么做
  • 男女做暖暖的试看网站专门开发小程序的公司
  • 自己做的网站怎么植入erp网页广告调词平台
  • 我做网站可以赚钱吗seo关键词优化技术
  • 网站免费推广方式网络推广工作好吗
  • 网页制作优质网站市场调研公司
  • 山西省网站建设长沙seo网站管理
  • 如何在百度上做公司做网站班级优化大师怎么下载
  • 网站备案期间可以建站使用软件提高百度推广排名
  • 公司如何做网站建设竞价排名深度解析
  • 做网站标题头像内蒙古seo
  • 在家做兼职哪个网站靠谱搜索引擎主要包括三个部分