【避坑经验】训练CNN的MAE——自监督SparK预训练Designing BERT for Convolutional Networks

MAE广泛应用于Transformer结构中,对于不同下游任务均有较好的优化效果,但如何用于CNN结构呢?

Designing BERT for Convolutional Networks: Sparse and Hierarchical Masked Modeling

本篇论文发现并攻克了将BERT-style预训练或者图像mask建模应用到CNN中的两个关键障碍:

1) CNN不能处理不规则的、随机的掩码输入图像;
2)BERT预训练的单尺度性质与convnet的层次结构不一致

实现的预训练方法简称为SparK,代码仓库在配置环境中有一些坑,分享一些经验

1、首先建立虚拟环境

conda create -n spark python=3.8 -y
conda activate spark

2、然后拉取仓库到本地

git clone https://github.com/keyu-tian/SparK.git

3、安装相关算法库

pip install torch==1.10.0+cu113 torchvision==0.11.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
pip install timm==0.5.4
cd SparK/pretrain
pip install -r requirements.txt

4、后续训练可能遇到的报错,建立提前安装避免报错

错误1:ModuleNotFoundError: No module named ‘pytz’

解决方式:

pip install --upgrade pytz

错误2:AttributeError: module ‘distutils’ has no attribute ‘ version’

解决方式:

pip install setuptools==59.5.0
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值