深度学习的笔记

1. 从huggingface上仅下载pytorch模型权重和配置文件到服务器

python 复制代码
import os
import shutil
from huggingface_hub import snapshot_download

# 直接指定模型和下载路径
model_name = 'openai/clip-vit-base-patch32'
download_path = '/home/xxx/.cache/huggingface/hub/models--anas-awadalla--mpt-7b'

# 确保下载路径存在
os.makedirs(download_path, exist_ok=True)
print('*'*10, f'Start downloading {model_name}', '*'*10)

# 下载模型
snapshot_download(repo_id=model_name,
                  cache_dir=download_path,
                  local_dir=download_path,
                  local_dir_use_symlinks=False,
                  ignore_patterns=["*.h5","*safetensors","*msgpack"],
                  force_download=True,
                  resume_download=False,
                  etag_timeout=60)


print('*'*10, 'Download finish', '*'*10)

# 清理下载的模型目录
for item in os.listdir(download_path):
    if os.path.isdir(os.path.join(download_path, item)) and item.startswith('models'):
        shutil.rmtree(os.path.join(download_path, item))

2. 从huggingface的镜像站上下载数据集:

python 复制代码
import os
from datasets import load_dataset

os.environ["HF_DATASETS_BASE_URL"] = "https://hf-mirror.com/"

# 数据集名称
dataset_name = 'lukaemon/mmlu'
download_path = '/data/share/xxx/'

# 子集列表
subsets = ['subset1', 'subset2', 'subset3']  # 替换为实际的子集名称

# 确保下载路径存在
os.makedirs(download_path, exist_ok=True)
print('*' * 10, f'Start downloading subsets of {dataset_name}', '*' * 10)

# 下载数据集的每个子集
for subset in subsets:
    print(f'Downloading subset: {subset}')
    dataset = load_dataset(dataset_name, subset, cache_dir=download_path,trust_remote_code=True)["test"]
    print(f'Finished downloading subset: {subset}')

print('*' * 10, 'Download finish', '*' * 10)

3. 关于对数概率(logits)和softmax函数:

对数概率(Logits):指的是在应用 softmax 函数之前的层的输出。它们是模型输出的原始未归一化的分数,可以理解为模型对每个类别的信心度量。这些分数可以是任意实数值,不限于0到1之间。

Softmax 函数是一种将对数概率(或任意实数值向量)转换成概率分布的方法。具体来说,它会对每个输出应用指数函数,然后对这些指数值进行归一化,使它们的和为1,从而转换为概率分布。

总结一下,对数概率(logits)是 softmax 函数的输入,而 softmax 函数的输出是一个概率分布,即模型对各个类别的预测概率。这两者经常一起使用,尤其是在处理分类问题时。

4. 你可以通过指定--name或-n参数来创建并命名一个新的Conda环境:

bash 复制代码
conda env create -f environment.yml #改成如下:

conda env create -f environment.yml -n openflamingov1

5. epoch , batch ,step的关系

bash 复制代码
step = batch number * epoch number,解释如下:
step表示参数更新的次数

假设有1000个数据,我想遍历10个epoch,我假设 batch_size = 10,也就是一次处理10张图片,
那么1个epoch 会有 1000/10 = 100个batch,也就是batch number = 100

运行完一个batch_size的数据之后才会 计算loss ,进行反向传播,更新参数,step+1,那么1个epoch之后,更新100次,step=100
10个epoch,则表示有100 * 10 = 1000 个step来更新参数
相关推荐
Slow菜鸟1 小时前
AI学习篇(三) | AI效率工具指南(2026年)
人工智能·学习
北京软秦科技有限公司1 小时前
AI审核如何助力合规取证?IACheck打造环境检测报告电子存证与法律风险防控新路径
大数据·人工智能
qq_359716232 小时前
openpi使用过程中相关问题
人工智能·深度学习·机器学习
minhuan2 小时前
医疗AI智能体:从数据到关怀人文设计:告别冰冷精准,构建有温度的诊疗交互.131
人工智能·ai智能体·智能体的人文设计·医疗ai人文设计·构建医疗ai智能体
一战成名9963 小时前
ToDesk全球节点 vs TeamViewer、AnyDesk延迟与稳定性对比
运维·服务器·teamviewer
Promise微笑3 小时前
驾驭AI引用:Geo优化中的内容评分机制与实战策略深度解析
人工智能
ai生成式引擎优化技术3 小时前
全球唯一四元结构底层架构问世:TSPR-WEB-LLM-HIC v2.0 终结大模型投毒与幻觉的终极技术范式
人工智能
听你说323 小时前
伊萨推出 ROBBI 360 协作机器人焊接工作站 简化自动化焊接部署流程
人工智能·机器人·自动化
weixin_408099673 小时前
【实战对比】在线 OCR 识别 vs OCR API 接口:从个人工具到系统集成该怎么选?
图像处理·人工智能·后端·ocr·api·图片文字识别·文字识别ocr