实习日记12/2

1.为pycharm配置远程服务器上的虚拟环境

参考文章pycharm配置SSH远程连接服务器(0基础详细版)_pycharm ssh-CSDN博客

2.机器学习性能评估

Profiling 是一种详细分析程序运行过程中的性能瓶颈的过程。它主要关注以下几个方面:

  • CPU/GPU 时间:每个函数、每个操作或每个线程在 CPU 或 GPU 上消耗的时间。
  • 内存使用:程序在运行过程中使用的内存量,包括模型参数、输入数据、临时计算结果等。
  • 输入/输出 (I/O):读取和写入数据的时间,尤其是在加载大规模模型或数据时。
  • 函数调用链:每个函数或操作的执行时间,以及它们之间的调用关系。

Benchmarking 是用来测量系统(如硬件、软件或算法)性能的标准化测试。它通常不涉及分析代码的内部结构,而是通过统一的测试方法来对比不同系统或配置的性能。

Benchmarking 的目标:
  • 量化性能:对比不同模型、算法或硬件配置的实际计算能力。例如,可以测试不同 GPU 的推理速度,或者比较不同优化方法对模型速度的影响。
  • 评估效率:通过统一的基准测试,量化性能指标(如吞吐量、延迟、资源消耗等),帮助开发者选择最合适的硬件或优化方案。
  • 指导优化方向:基准测试结果可以帮助开发者决定哪些部分需要优化,是否需要更强大的硬件支持等。
基准测试的指标:
  • 推理速度(Inference Speed):模型处理输入的速度,通常以 FPS(每秒帧数)或 延迟(latency) 来表示。
  • 吞吐量(Throughput):每秒处理的数据量,通常以 samples/second 来表示。
  • 内存消耗(Memory Consumption):模型在运行时消耗的内存量。
  • 能效(Energy Efficiency):在单位时间内消耗的能量,特别是在移动设备或嵌入式系统中。

Batch Size 和 Epoch 的关系:

在训练过程中,训练集会被划分为多个批次,每个批次的大小由batch_size决定。当完成一个epoch时,整个训练集的数据都已经用于一次参数更新。具体关系如下:

  • 每个epoch包含多少批次(batches)

    每个epoch的批次数=训练集的样本数batch_size\text{每个epoch的批次数} = \frac{\text{训练集的样本数}}{\text{batch\_size}}每个epoch的批次数=batch_size训练集的样本数​

    例如,如果训练集包含 1000 个样本,batch_size 设置为 64,则每个epoch会包含约 16 次批次(1000 / 64 = 15.625,向下取整为16)。

  • epoch 和 batch size 的影响

    • Epoch数epoch表示对整个训练集进行多少次“遍历”,即训练数据通过模型的次数。每个epoch都会用batch_size指定的批次数据进行一次更新。
    • Batch Sizebatch_size影响每次参数更新的频率。较小的batch_size会使得参数更新更频繁,每次使用少量数据进行训练,训练过程中的更新会更加频繁,可能会使训练时间更长,但能更好地拟合数据。

    训练的总步数(即总的参数更新次数)是由 epochbatch_size 决定的。总步数公式如下:

    总步数=训练集的样本数batch_size×epoch数\text{总步数} = \frac{\text{训练集的样本数}}{\text{batch\_size}} \times \text{epoch数}总步数=batch_size训练集的样本数​×epoch数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值