☰
CoreNet 中的 RangeAugment:基于范围学习的在线数据增强完整实战指南
2026/10/2 13:33:25 网站建设 项目流程
  • 深度学习
  • 计算机视觉
  • NLP
  • 多模态
  • 模型训练
  • 大模型

【免费下载链接】corenet

CoreNet: A library for training deep neural networks

项目地址:https://gitcode.com/GitHub_Trending/co/corenet
点击查看免费下载

RangeAugment 是 CoreNet 内置的一种自动化数据增强方法,其核心思想是让每个增强算子(亮度、对比度、噪声)学会模型专属、任务专属的幅度范围,而非依赖人工调参或昂贵的搜索。本文以 projects/range_augment/README.md 为骨架,结合 corenet/modeling/neural_augmentor 的源码实现与五类任务的配置文件,系统讲解 RangeAugment 的原理、代码结构、损失函数与配置写法,并给出图像分类、语义分割、目标检测、CLIP 对比学习与知识蒸馏五类任务的完整训练、评估与演示命令,帮助你在自己的数据集上直接复现和迁移这一技术。

一、RangeAugment 是什么

RangeAugment(论文标题RangeAugment: Efficient Online Augmentation with Range Learning,arXiv:2212.10553)是一种自动数据增强方法。与以往自动增强方法(如通过强化学习或可微搜索寻找最优策略)不同,RangeAugment 的核心思想是:

  • 将数据增强的幅度(magnitude)范围设计为可学习的参数;
  • 在学习过程中,模型会针对当前模型和当前任务自动调整每个增强算子的幅度范围;
  • 整个过程是**在线(online)**的,即在训练的同时进行,无需额外的搜索阶段或昂贵的离线评估。

在 CoreNet 代码库中,RangeAugment 被命名为Neural Augmentor(简称 NA),实现位于 corenet/modeling/neural_augmentor 目录,这一点在 projects/range_augment/README.md 中有明确说明。

支持的任务矩阵

仓库为 RangeAugment 提供了完整的训练、评估代码、预训练模型与配置文件,覆盖五大类任务:

任务数据集说明文档
图像分类ImageNetREADME-classification.md
语义分割ADE20k、PASCAL VOCREADME-segmentation.md
目标检测MS-COCOREADME-object-detection.md
对比学习(图像-文本对)自定义图像-文本对数据集README-clip.md
知识蒸馏ImageNetREADME-distillation.md

所有任务对应的 YAML 配置集中在 projects/range_augment 下,按classification/、segmentation/、detection/、clip/、distillation/分目录组织,可直接作为新实验的起点。

二、源码级解读:Neural Augmentor 的实现

2.1 目录结构与类层次

从源码结构看,Neural Augmentor 由两部分组成:

  • 增强器(增广模块):corenet/modeling/neural_augmentor/neural_aug.py,负责定义可学习的增强算子与参数;
  • 采样器与算子:corenet/modeling/neural_augmentor/utils/neural_aug_utils.py,提供参数采样器(FixedSampler、UniformSampler)、参数约束(Clip)以及亮度/对比度/噪声的具体计算函数。

neural_aug.py中定义了三层结构:

nn.Module └── BaseNeuralAugmentor # 基类:参数管理、训练入口、通用逻辑 ├── BasicNeuralAugmentor # mode="basic":学习固定幅值(每个通道一组参数) └── DistributionNeuralAugmentor # mode="distribution":学习幅度范围(分布采样)

模块的构建入口是文件末尾的build_neural_augmentor(opts)函数(见 neural_aug.py):根据model.learn_augmentation.mode的值返回DistributionNeuralAugmentor、BasicNeuralAugmentor,或返回None(表示不启用增强学习)。

2.2 两种可配置模式

Basic 模式(BasicNeuralAugmentor):为每个增强算子学习一组固定的幅值参数(per-channel,形状为[1, 3, 1, 1]),同一个 batch 内所有图像共享同一参数。具体初始化(见_build_aug_fns):

  • 亮度/对比度:FixedSampler(value=1.0, Clip(0.1, 10.0));
  • 噪声:FixedSampler(value=0.0, Clip(0.0, 1.0))。

Distribution 模式(DistributionNeuralAugmentor):为每个算子学习幅度范围的上下界,训练时从[low, high]均匀分布中采样实际幅度,从而覆盖更丰富的增强强度(见_build_aug_fns_with_uniform_dist):

  • 亮度/对比度:UniformSampler(low=0.5, high=1.5),其中下界经Clip(0.1, 0.9)约束、上界经Clip(1.1, 10.0)约束;
  • 噪声:UniformSampler(low=0.0, high=0.1),下界经Clip(0.0, 0.00005)、上界经Clip(0.0001, 1.0)约束。

2.3 可学习的增强算子

BaseNeuralAugmentor内置三种增强算子,各自对应一个可学习参数,并可通过命令行开关独立启用:

算子参数代码实现
亮度 Brightness--model.learn-augmentation.brightnessrandom_brightness:x = x * magnitude
对比度 Contrast--model.learn-augmentation.contrastrandom_contrast:按通道均值与幅值加权
噪声 Noise--model.learn-augmentation.noiserandom_noise:叠加方差为variance的高斯噪声

这三个函数位于 neural_aug_utils.py。值得注意的实现细节:

  • 对比度公式为(1 - magnitude) * per_channel_mean + x * magnitude,即围绕通道均值缩放;
  • 采样器通过Clip模块约束参数范围,Clip支持软裁剪(sigmoid 映射到[min_val, max_val],可保持梯度可微)与硬裁剪(clamp_)两种方式,见 neural_aug_utils.py。

2.4 训练时的前向流程

BaseNeuralAugmentor.forward(neural_aug.py)在训练时执行如下流程:

  1. 随机打乱增强算子的执行顺序;
  2. 对每个算子,随机选取 batch 中50%的样本(batch_size // 2)进行增强;
  3. 将增强后的样本写回原张量;
  4. 最后将像素值clip到[0, 1]区间。

这种"每步只增强一半样本"的设计既保持了数据多样性,又让增强损失有稳定的参照(原始图与增强图同时存在,便于计算感知距离损失)。

2.5 关键命令行参数

BaseNeuralAugmentor.add_arguments(neural_aug.py)定义了以下参数,均可通过 CLI 或 YAML 中的model.learn_augmentation段设置:

参数取值默认含义
--model.learn-augmentation.modebasic/distributionNone增强学习模式,None表示不启用
--model.learn-augmentation.brightness布尔False学习亮度幅度
--model.learn-augmentation.contrast布尔False学习对比度幅度
--model.learn-augmentation.noise布尔False学习噪声方差
--model.learn-augmentation.lr-multiplier浮点1.0增强参数的学习率倍率

其中lr_multiplier会通过get_trainable_parameters作用到增强参数上(neural_aug.py),便于独立调节增强参数的学习速度。

三、增强损失:Neural Augmentation Loss

RangeAugment 的关键设计之一是用损失函数驱动幅度学习,而不是手工设定"增强多强"。该损失实现在 corenet/loss_fn/neural_augmentation.py,以neural_augmentation名称注册进LOSS_REGISTRY,可作为复合损失的一个子项参与训练。

3.1 PSNR 感知指标与 MSE 换算

目前支持的感知指标为psnr(见__supported_metrics = ["psnr"])。损失的目标是:让"原图与增强图之间的 MSE"逐步逼近一个目标 MSE。源码通过以下公式把 PSNR 换算为 MSE:

PSNR = 20 * log10(255) - 10 * log10(MSE)

在_forward_psnr中,首先计算逐样本的 MSE(像素缩放至 0–255 后求平方误差均值),再用Smooth L1约束预测 MSE 与目标 MSE 的距离,最后乘以alpha权重(neural_augmentation.py)。

3.2 课程学习(Curriculum Learning)

target_value可以是一个标量,也可以是一个[start, end]二元组。当传入二元组时,模块会启用课程学习:目标 MSE 从start对应的值平滑过渡到end对应的值,过渡曲线由curriculum_method决定,支持linear(torch.linspace)与cosine(余弦插值)两种方式(见 neural_augmentation.py)。课程周期取scheduler.max_epochs(epoch 制)或scheduler.max_iterations(迭代制)。

这种课程机制的含义是:训练初期允许较强、较明显的增强(对应较低 PSNR),随着训练推进逐步收窄增强幅度(对应较高 PSNR),让模型先见"大场面"再精细化。

3.3 损失参数总览

NeuralAugmentation.add_arguments(neural_augmentation.py)定义的参数:

参数默认含义
--loss.neural-augmentation.perceptual-metricpsnr感知指标,目前仅支持psnr
--loss.neural-augmentation.target-value[40, 20]目标 PSNR(标量或起止二元组,用于课程学习)
--loss.neural-augmentation.curriculum-methodcosine课程曲线:linear或cosine
--loss.neural-augmentation.alpha100.0损失缩放系数;PSNR 模式下会被除以65025(0–255 像素下最大 MSE)

另外,该损失在验证/评估阶段不参与计算,forward直接返回 0(neural_augmentation.py),保证推理行为不受影响。

四、配置文件实战解读

RangeAugment 的配置通过model.learn_augmentation与loss两个配置段接入训练。下面以 classification/resnet_50.yaml 为例展开。

4.1 增强学习配置段

model: learn_augmentation: brightness: true contrast: true noise: true mode: "distribution"
  • mode: "distribution"对应DistributionNeuralAugmentor,学习每个算子的幅度范围;
  • 三个算子全部启用,训练时按 2.4 节流程在线执行。

4.2 复合损失配置段

loss: category: "composite_loss" composite_loss: - loss_category: "classification" loss_weight: 1.0 classification: name: "cross_entropy" cross_entropy: label_smoothing: 0.1 - loss_category: "neural_augmentation" loss_weight: 1.0 neural_augmentation: perceptual_metric: "psnr" target_value: [ 40, 5 ] curriculum_method: "cosine"

分类任务使用带 0.1 标签平滑的交叉熵(loss_weight=1.0),增强损失以neural_augmentation类别并入复合损失(loss_weight=1.0)。target_value: [40, 5]表示 PSNR 目标从 40 平滑过渡到 5(对应从弱到强的增强幅度课程)。

不同模型配置的课程目标不同:例如 classification/mobilenet_v2.yaml 使用target_value: [40, 30],而 ResNet-50 使用[40, 5],说明课程范围本身也是模型相关的超参数,可在实验中按需调整。

4.3 配套训练设置

同一配置中还包含与 RangeAugment 配套的训练技巧:

  • 训练时长:ResNet-50 训练 600 epoch(scheduler.max_epochs: 600),MobileNetv2 为 300 epoch;ResNet-50 使用余弦调度(max_lr: 0.5,min_lr: 2.e-4,5000 步 warmup);
  • Batch 规模:train_batch_size0: 128,注释明确"有效 batch 为 1024(128 × 8 GPUs)";
  • 基础增强:random_resized_crop、random_horizontal_flip,部分大模型配置还启用mixup(alpha=0.2)与cutmix(alpha=1.0);
  • EMA:ema.enable: true, momentum: 0.0005,论文建议 MobileViT 使用 EMA 权重做评测;
  • 可变 batch 采样器:sampler.name: "variable_batch_sampler"支持多尺度训练(crop 尺寸 128–320)。

五、实战一:ImageNet 图像分类

5.1 训练

论文研究中的各分类骨干网络(含移动端与非移动端)的单节点8 张 A100 GPU训练命令如下(来源 README-classification.md):

export CFG_FILE="PATH_TO_MODEL_CONFIGURATION_FILE" corenet-train --common.config-file $CFG_FILE --common.results-loc classification_results

模型配置文件位于 classification 目录,覆盖 EfficientNet-B0~B3、MobileNetv1/v2/v3、MobileViTv1、RegNetY-16GF、ResNet-50/101、SE-ResNet-50、Swin-Transformer-Tiny/Small 等 14 个模型。

注意:训练前务必修改配置中的数据集路径(dataset.root_train/dataset.root_val),默认指向/mnt/imagenet/training与/mnt/imagenet/validation。

5.2 评估

export CFG_FILE="PATH_TO_MODEL_CONFIGURATION_FILE" export MODEL_WEIGHTS="PATH_TO_MODEL_WEIGHTS_FILE" export DATASET_PATH="PATH_TO_DATASET" CUDA_VISIBLE_DEVICES=0 corenet-eval --common.config-file $CFG_FILE --common.results-loc classification_results --model.classification.pretrained $MODEL_WEIGHTS --common.override-kwargs dataset.root_val=$DATASET_PATH

5.3 ImageNet 结果

模型Top-1配置
MobileNetv1-1.073.8mobilenet_v1.yaml
MobileNetv2-1.073.0mobilenet_v2.yaml
MobileNetv3-Large75.1mobilenet_v3.yaml
MobileViTv1-Small78.2mobilevit_v1.yaml
EfficientNet-B077.3efficientnet_b0.yaml
EfficientNet-B179.5efficientnet_b1.yaml
EfficientNet-B281.3efficientnet_b2.yaml
EfficientNet-B381.9efficientnet_b3.yaml
ResNet-5080.2resnet_50.yaml
ResNet-10181.9resnet_101.yaml
SwinTransformer-Tiny81.1swin_transformer_tiny.yaml
SwinTransformer-Small82.8swin_transformer_small.yaml

原 README 提示:MobileViT 按论文建议使用 EMA 权重评测,其余模型使用最佳 checkpoint。各模型的预训练权重与训练日志链接见原文档表格,此处不再列出外部地址。

六、实战二:语义分割(DeepLabv3)

6.1 训练

单节点1 张 A100 GPU即可训练带 DeepLabv3 分割头的移动端与非移动端骨干(来源 README-segmentation.md):

export CFG_FILE="PATH_TO_MODEL_CONFIGURATION_FILE" corenet-train --common.config-file $CFG_FILE --common.results-loc segmentation_results

配置位于 segmentation/ade20k 与 segmentation/pascal_voc 两个目录,同样需要先修改数据集路径。

6.2 评估

export CFG_FILE="PATH_TO_MODEL_CONFIGURATION_FILE" export MODEL_WEIGHTS="PATH_TO_MODEL_WEIGHTS_FILE" CUDA_VISIBLE_DEVICES=0 corenet-eval-seg --common.config-file $CFG_FILE --common.results-loc seg_results --model.segmentation.pretrained $MODEL_WEIGHTS

6.3 ADE20k 结果(mIoU)

骨干mIoU配置
MobileNetv1-1.039.4deeplabv3_mobilenet_v1.yaml
MobileNetv2-1.038.6deeplabv3_mobilenet_v2.yaml
MobileNetv3-Large38.9deeplabv3_mobilenet_v3.yaml
MobileViTv1-Small38.5deeplabv3_mobilevit.yaml
EfficientNet-B343.9deeplabv3_efficientnet_b3.yaml
ResNet-5044.0deeplabv3_resnet_50.yaml
ResNet-10146.5deeplabv3_resnet_101.yaml

6.4 PASCAL VOC 2012 结果(mIoU)

骨干mIoU配置
MobileNetv1-1.077.2deeplabv3_mobilenet_v1.yaml
MobileNetv2-1.076.7deeplabv3_mobilenet_v2.yaml
MobileNetv3-Large77.0deeplabv3_mobilenet_v3.yaml
EfficientNet-B382.0deeplabv3_efficientnet_b3.yaml
ResNet-5081.2deeplabv3_resnet_50.yaml
ResNet-10184.0deeplabv3_resnet_101.yaml

6.5 单图 Demo

export IMG_PATH="http://farm2.staticflickr.com/1173/678795137_bb1a91f659_z.jpg" export CFG_FILE="projects/range_augment/segmentation/pascal_voc/deeplabv3_resnet_50.yaml" export MODEL_WEIGHTS="https://docs-assets.developer.apple.com/ml-research/models/cvnets-v2/examples/range_augment/segmentation/pascal_voc/deeplabv3_resnet_50.pt" corenet-eval-seg --common.config-file $CFG_FILE \ --common.results-loc results \ --model.segmentation.pretrained $MODEL_WEIGHTS \ --evaluation.segmentation.mode single_image \ --evaluation.segmentation.path "${IMG_PATH}" \ --evaluation.segmentation.apply-color-map \ --evaluation.segmentation.save-overlay-rgb-pred

若在 CPU 上运行,请追加--common.override-kwargs common.mixed_precision=false关闭混合精度。

七、实战三:目标检测与实例分割(Mask R-CNN)

7.1 训练

单节点8 张 A100 GPU训练 Mask R-CNN(来源 README-object-detection.md):

export CFG_FILE="PATH_TO_MODEL_CONFIGURATION_FILE" corenet-train --common.config-file $CFG_FILE --common.results-loc detection_results

配置位于 detection 目录,覆盖 MobileNetv1/v2/v3、MobileViT、EfficientNet-B3、ResNet-50/101 等骨干。

7.2 评估

export CFG_FILE="PATH_TO_MODEL_CONFIGURATION_FILE" export MODEL_WEIGHTS="PATH_TO_MODEL_WEIGHTS_FILE" export DATASET_PATH="PATH_TO_DATASET" CUDA_VISIBLE_DEVICES=0 corenet-eval-det --common.config-file $CFG_FILE \ --common.results-loc seg_results \ --model.detection.pretrained $MODEL_WEIGHTS --evaluation.detection.resize-input-images \ --evaluation.detection.mode validation_set \ --common.override-kwargs dataset.root_val=$DATASET_PATH

7.3 MS-COCO 结果

骨干BBox mAPSeg mAP配置
MobileNetv1-1.039.435.6maskrcnn_mobilenet_v1.yaml
MobileNetv2-1.038.434.7maskrcnn_mobilenet_v2.yaml
MobileNetv3-Large35.632.5maskrcnn_mobilenet_v3.yaml
MobileViT-Small42.037.7maskrcnn_mobilevit.yaml
EfficientNet-B344.539.5maskrcnn_efficientnet_b3.yaml
ResNet-5044.039.5maskrcnn_resnet_50.yaml
ResNet-10146.141.1maskrcnn_resnet_101.yaml

7.4 单图 Demo

export IMG_PATH="http://farm2.staticflickr.com/1173/678795137_bb1a91f659_z.jpg" export CFG_FILE="projects/range_augment/detection/maskrcnn_resnet_50.yaml" export MODEL_WEIGHTS="https://docs-assets.developer.apple.com/ml-research/models/cvnets-v2/examples/range_augment/detection/maskrcnn_resnet_50.pt" corenet-eval-det --common.config-file $CFG_FILE \ --common.results-loc results \ --model.detection.pretrained $MODEL_WEIGHTS \ --model.detection.n-classes 81 \ --evaluation.detection.resize-input-images \ --evaluation.detection.mode single_image \ --evaluation.detection.path "${IMG_PATH}" \ --model.detection.mask-rcnn.box-score-thresh 0.7

提示:可通过--model.detection.mask-rcnn.box-score-thresh调节边界框置信度阈值,以控制可视化时显示的框与掩码数量;CPU 运行同样需追加--common.override-kwargs common.mixed_precision=false。

八、实战四:CLIP 对比学习(图像-文本对)

8.1 数据集准备

CLIP 训练使用图像-文本对(tar 格式)数据集,数据集的构造与使用说明见 img_text_tar_dataset.py 文件内文档(来源 README-clip.md)。

8.2 多节点分布式训练

CLIP 使用仓库自定义的 ViT 实现,可配合多尺度可变 batch 采样器。CLIP 模型在多节点、每节点多 GPU上训练,具体 GPU/节点数量见配置文件的注释。单节点训练命令模板如下:

export CFG_FILE="PATH_TO_MODEL_CONFIGURATION_FILE" export RANK=<NODE_ID> * <NUM_GPUS_PER_NODE> # 例如 Node-0: RANK=0; Node-1: RANK=8; Node-2: RANK=16 export WORLD_SIZE=<NUM_NODES> * <NUM_GPUS_PER_NODE> # 例如 32 节点 × 8 GPU = 256 corenet-train --common.config-file $CFG_FILE --common.results-loc results_clip --ddp.rank $RANK --ddp.world-size $WORLD_SIZE --ddp.dist-url 'tcp://IP_OF_NODE0:FREEPORT'

注意:RANK与WORLD_SIZE由节点编号、每节点 GPU 数相乘得到,dist-url指向 0 号节点的空闲端口。

8.3 零样本评估(ImageNet)

ViT-B 图像骨干的 CLIP 模型可在 224×224 分辨率下评估:

export CONFIG_FILE="projects/range_augment/clip/clip_vit_base.yaml" export MODEL_WEIGHTS=https://docs-assets.developer.apple.com/ml-research/models/cvnets-v2/examples/range_augment/clip/clip_vit_base_16.pt export DATASET_PATH="/mnt/vision_datasets/imagenet/validation/" # 改为你的 ImageNet 验证集路径 CUDA_VISIBLE_DEVICES=0 corenet-eval --common.config-file $CONFIG_FILE --model.multi-modal-image-text.pretrained $MODEL_WEIGHTS --common.override-kwargs dataset.multi_modal_img_text.zero_shot_img_cls_dataset_name="imagenet" dataset.root_val=$DATASET_PATH

8.4 零样本 Top-1 结果(多分辨率)

模型160192224256288配置
CLIP w/ ViT-B/1669.2671.0771.8472.3472.82clip_vit_base.yaml
CLIP w/ ViT-H/1676.1377.3577.9278.4178.56clip_vit_huge.yaml

原 README 注明:CLIP 模型的 EMA 与最佳 checkpoint 表现相近,此处报告的是最佳 checkpoint 的结果。

8.5 ImageNet 微调

CLIP 微调配置位于 clip_finetune_imagenet,训练与评估命令与图像分类任务一致(参见 README-classification.md)。官方在 ImageNet 上对 CLIP 的 ViT 骨干微调10 个 epoch的结果:

模型Top-1 @ 224x224配置
ViT-B/1684.31clip_finetune_imagenet/clip_vit_base.yaml
ViT-H/1686.90clip_finetune_imagenet/clip_vit_huge.yaml

九、实战五:知识蒸馏

仓库使用RangeAugment 训练的 ResNet-101 作为教师,对四个移动端模型做知识蒸馏(来源 README-distillation.md)。蒸馏配置位于 distillation 目录,训练与评估流程同样遵循 ImageNet 分类任务的命令(见 README-classification.md)。

9.1 ImageNet 蒸馏结果

学生模型Top-1(ERM)Top-1(蒸馏)配置
MobileNetv173.875.2teacher_resnet101_student_mobilenet_v1.yaml
MobileNetv273.073.4teacher_resnet101_student_mobilenet_v2.yaml
MobileNetv375.176.0teacher_resnet101_student_mobilenet_v3.yaml
MobileViT78.279.4teacher_resnet101_student_mobilevit.yaml

说明:ERM(经验风险最小化)一列来自 README-classification.md 的基线结果;MobileViT 按论文建议使用 EMA checkpoint 评测。可以看到,蒸馏在四个移动模型上均带来 Top-1 提升,其中 MobileNetv1 提升 1.4 个百分点。

十、总结与扩展阅读

RangeAugment 在 CoreNet 中的落地路径可以概括为一条清晰的链路:

  1. 配置接入:在model.learn_augmentation段声明启用哪些算子与模式(basic/distribution);
  2. 在线增强:DistributionNeuralAugmentor或BasicNeuralAugmentor在训练前向中实时生成增强图像;
  3. 损失驱动:NeuralAugmentation损失以 PSNR 感知指标、配合余弦/线性课程学习,持续把增强幅度推向"模型恰好能适应"的水平;
  4. 跨任务复用:由于增强器与损失都以通用模块形式注册(LOSS_REGISTRY、build_neural_augmentor),分类、分割、检测、对比学习、蒸馏任务只需在 YAML 中配置即可复用同一套机制。

如果你想深入源码,建议从 corenet/modeling/neural_augmentor/neural_aug.py(增强器实现)、neural_aug_utils.py(采样器与算子)、neural_augmentation.py(损失与课程学习)三个文件入手;测试用例可参考 tests/loss_fns/test_neural_aug.py 与 tests/loss_fns/test_neural_aug_compatibility.py,它们能帮助你验证增强损失与复合损失组合的正确性。

引用

如果 RangeAugment 对你的研究或工程有帮助,原 README 建议引用以下文献:

@article{mehta2022rangeaugment, title={RangeAugment: Efficient Online Augmentation with Range Learning}, author = {Mehta, Sachin and Naderiparizi, Saeid and Faghri, Fartash and Horton, Maxwell and Chen, Lailin and Farhadi, Ali and Tuzel, Oncel and Rastegari, Mohammad}, journal={arXiv preprint arXiv:2212.10553}, year={2022}, } @inproceedings{mehta2022cvnets, author = {Mehta, Sachin and Abdolhosseini, Farzad and Rastegari, Mohammad}, title = {CVNets: High Performance Library for Computer Vision}, year = {2022}, booktitle = {Proceedings of the 30th ACM International Conference on Multimedia}, series = {MM '22} }
  • 深度学习
  • 计算机视觉
  • NLP
  • 多模态
  • 模型训练
  • 大模型

【免费下载链接】corenet

CoreNet: A library for training deep neural networks

项目地址:https://gitcode.com/GitHub_Trending/co/corenet
点击查看免费下载

相关推荐

上一篇:AirportBrcmFixup常见问题排查:从驱动加载失败到5Ghz信号丢失的解决方案
下一篇:AI代理安全标准:使用Agent Governance Toolkit遵循行业标准

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询