【深度学习·实践篇】CodeT5模型学习与基于CodeT5进行新的模型训练

文章目录具体实践5. 配置运行环境6. 启动训练7. 使用模型
写在前面
本文章记录模型的学习过程,笔者深度学习的基础较浅 。
学习目标是基于掌握基本的模型建立与模型训练知识,同时基于模型训练可以自动生成go语言代码的模型 。
代码库
未完 。
一. 一些名词What is fine-tune in deep ?
Fine- in deepisbyfromand using themby using time, money, and othermore .How to fine-tune a deepmodel?
参考:
(原文)
(中文版1)
(中文版2)
参考:
从字面上看,预训练模型(pre- model)是先通过一批语料进行训练模型,然后在这个初步训练好的模型基础上,再继续训练或者另作他用 。这样的理解基本上是对的,预训练模型的训练和使用分别对应两个阶段:预训练阶段(pre-)和 微调(fune-)阶段 。
二. 基于训练自己的模型 理论步骤:
由于我没有训练模型的基础,所以步骤部分我直接一步步问了,以下6个步骤是的回答+我的总结 。
里面具体的代码细节可能无法对应到具体的模型代码里(实际实践可以看下一节),但是整体步骤和思路是正确的 。
1. 安装依赖
需要安装必要的依赖项,包括 3、、Git、unzip等 。可以通过以下命令安装这些依赖项:
【【深度学习·实践篇】CodeT5模型学习与基于CodeT5进行新的模型训练】# 安装Python 3和pipsudo apt-get updatesudo apt-get install python3 python3-pip# 安装TensorFlow和Gitpip3 install tensorflow-gpu git# 安装unzip工具sudo apt-get install unzip
2. 下载代码库
通过以下命令将代码库克隆到本地计算机(或者远程服务器)上:
git clone https://github.com/salesforce/CodeT5.git
3. 准备数据集
在进行训练之前,需要准备一个包含自然语言文本和对应的带有类环境的Go代码的数据集 。可以将每个样本保存为一个文件 。需要确保每个文件都包含以下特征:
./dataset/├── train.tfrecords├── valid.tfrecords└── test.tfrecords
4. 修改训练脚本5. 启动训练
运行.py文件 。
6. 进行预测
完成训练后,可以使用训练好的模型进行预测 。使用以下命令来进行预测:

【深度学习·实践篇】CodeT5模型学习与基于CodeT5进行新的模型训练

文章插图
python3 run_codet5.py --mode=predict --predict_file_pattern=path/to/predict.tfrecords
其中,path/to/.是要进行预测的文件的路径 。预测的结果将会保存在//-XXXXX.json文件中 。
具体实践 1. 准备数据集
由于是使用进行训练的(模型的实现是基于 2.x框架的),所以需要将原始数据(通常存放在json文件或者csv文件中)转换为格式 。
是一种高效的二进制文件格式,可以将多个数据样本组织在一个文件中,并且可以轻松地在训练过程中进行并行读取和解析 。
具体的转换可以用代码实现 。
更新:
数据的转换在.py中已经通过
这个几行代码实现 。不需要自己实现,只需指定数据的路径即可 。
2. 配置运行环境
由于我是在服务器上跑模型,没有root权限,最终选择使用管理环境 。
具体的配置过程请看我的另一篇博客:学习与实战记录
3. 修改脚本参数
正如上文所说:可以通过在代码中硬编码来指定各个参数的值,也可以在指令中指定 。
建议在指令中再指定,硬编码到文件里会有一些奇怪的错误(个人经验) 。