复现论文ChineseBERT(ONTONOTES数据集)

作者详细记录了复现ChineseBERT论文过程中遇到的环境配置问题,包括CUDA版本、Pytorch版本、numpy版本的匹配,以及数据集下载、路径设置、脚本修改等步骤。在解决了一系列错误后,最终成功运行模型并得到测试结果。

记录一下自己复现论文《ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information》的过程,最近感觉老在调包,一天下来感觉什么也没干,就直播记录一下跑模型的过程吧

事前说明,这是跑项目的实况,如果是想当教程看,建议跳着看

自己电脑环境如下:

  • 显卡:3060TI
  • CUDA : 11.0
  • CUDAToolkit : 8.0.2
  • tensorflow : 2.4.0
  • pytorch : 1.7.0

首先使用Conda创建一下项目的虚拟环境

conda create -n ChineseBERT python=3.8

进入环境

 conda activate ChineseBERT

Pycharm打开项目并切换到刚刚新建的环境

在这里插入图片描述

找到requirements.txt文件,在环境中一个一个安装

在这里插入图片描述

安装的时候,发现torch版本装不到这么低的

在这里插入图片描述

然后就装了项目简介中的版本,(发现自己要跑的OntoNotes 4.0数据集正好也需要装这个版本,nice)

在这里插入图片描述

pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

然后打开作者的文档OntoNotes NER task,下载对应的数据集

在这里插入图片描述

然后新建一个名为ONTONOTES_DATA_PATH的文件夹,把解压后的文件放进去

在这里插入图片描述

找到tasks/OntoNotes/OntoNotes_trainer.py文件,尝试第一次运行

在这里插入图片描述

果不其然会报错,好像是numpy版本不匹配的问题,搜一下

在这里插入图片描述

看了一眼自己装的numpy版本,果然高一点

### 关于 DoTA 数据集论文复现方法 DoTA 数据集是一个大规模遥感目标检测数据集,其设计旨在推动计算机视觉领域中的目标检测技术发展[^1]。该数据集提供了丰富的标注信息以及多样化的场景图像,适用于多种研究方向。 #### 复现 DoTA 数据集相关工作的基本流程 为了成功复现基于 DoTA 数据集的研究工作,可以遵循以下指导原则: 1. **获取数据集** 首先需要下载并解压 DoTA 数据集。可以通过官方链接访问数据集页面[^2],其中包含了训练集、验证集和测试集的数据文件及其对应的标注文件。 2. **环境配置** 论文通常会提供实验所依赖的软件框架版本(如 TensorFlow 或 PyTorch)。建议按照论文中提到的具体版本安装所需的库,并确保 GPU 加速支持已正确启用。 3. **代码实现** 如果原作者公开了源码,则可以直接克隆仓库运行脚本;如果没有开源代码,则需依据描述自行编写模型架构及相关处理逻辑。例如,在目标检测任务中常用的 Faster R-CNN 和 RetinaNet 是两种常见的算法选择。 4. **预处理阶段** 对原始图片进行裁剪、缩放等操作以便适配网络输入尺寸要求。同时也要注意保持标签的一致性转换。 5. **训练过程监控与调整参数** 使用 TensorBoard 等工具记录损失函数变化曲线图来判断收敛情况。必要时可尝试修改学习率或者增加迭代次数直至达到预期效果为止。 6. **评估指标计算** 完成预测之后利用 mAP (mean Average Precision) 来衡量最终性能表现如何接近真实值水平。 以下是使用 Python 实现的一个简单例子展示加载部分功能模块的方式: ```python import os from PIL import Image, ImageDraw import numpy as np def load_dota_image(image_path): """Load an image from the specified path.""" img = Image.open(image_path).convert('RGB') return img # Example usage of loading a single DOTA image file. image_directory = '/path/to/your/downloaded/dataset/images' sample_file_name = 'P0000.png' # Replace with actual filename within your directory. loaded_img = load_dota_image(os.path.join(image_directory, sample_file_name)) print(f"Image size: {loaded_img.size}") ``` 对于 seaborn 的 `load_dataset` 方法遇到错误的情况,虽然这并不是针对 DoTA 数据集本身的问题,但如果涉及类似的第三方库调用异常解决思路也可以参考相应文章介绍的内容来进行排查修正[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Otto_1027

蟹蟹你,我会继续努力的~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值