Py实训13-C文件处理

2019300908-邱晓宇 2022夏-程序设计实训 2022-08-03 17:31:18

 

 

 

...全文
157 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 基于LoRA对ChatGLM进行微调实验python源码+训练好的模型+项目说明.zip 使用LoRA对ChatGLM进行微调。整体的结构非常简单,构造好相应格式的数据后就可以开始训练。 训练好的实体识别LoRA权重已经位于checkpoint下。 # 依赖 linux操作系统为Ubantu,GPU为A40-48G显存。 ```python mpi4py transformers==4.28.1 peft==0.3.0 icetk deepspeed==0.9.2 accelerate cpm_kernels sentencepiece==0.1.99 peft=0.3.0 torch=2.0.0 ``` # 说明 ## 目录结构 ```python --checkpoint:保存模型 ----msra:数据集名称 --------train_deepspeed ------------adapter_model ----------------adapter_config.json ----------------adapter_model.bin ----------------train_args.json --------train_trainer ------------adapter_model ----------------adapter_config.json ----------------adapter_model.bin ----------------train_args.json --model_hub:预训练模型 ----chatglm-6b:预训练模型位置 --data:数据 ----msra:数据集名称 --------instruct_data:指令数据 ------------dev.txt ------------train.txt --------ori_data:原始数据 --chat_ner.py:闲聊 --train_deepspeed.py:使用原生deepspeed训练 --train_trainer.py: 使用transformers的Trainer进行训练 --test.py:测试训练好的模型 --predict.py:预测 --test_chatglm_6b.py:测试原始的chatglm-6b --process.py处理数据为instruct_data --dataset.py:加载数据为相应的格式 --deepspeed.json:deepspeed配置文件,用于trasnformers的Trainer --config_utils.py:用于用字典定义配置,并接收命令行参数 ``` chatglm-6b下面数据是这样,除权重外已经放在model_hub/chatglm-6b下: 数据格式 这里我们以命名实体识别任务为例,数据在data/msra下,其中ori_data为原始数据,instruct_data为处理后的数据,数据格式为一条一个样本,具体是: ```python {"instruct": "你现在是一个实体识别模型,你需要提取文本里面的人名、地名、机构名,如果存在结果,返回'实体_实体类型',不同实体间用\n分隔。如果没有结果,回答'没有'。", "query": "文本:因有关日寇在京掠夺文物详情,藏界较为重视,也是我们收藏北京史料中的要件之一。", "answer": "日_地名\n京_地名\n北京_地名"} ``` 可以按照自己的任务自行构建。
【资源介绍】 毕业设计基于Fasttext的中文医疗问答系统python源码+运行说明+中文医疗对话数据集.zip 本项目为本人的本科毕业设计,基于知识图谱的中文医疗问答系统,通过爬虫工具从公开的医疗网站获取医疗知识并利用Neo4j图数据库构建知识图谱。问句意图利用Fasttext文本分类算法识别,并简单编写了一个槽位记忆功能辅助记住上下文信息,最后利用Django框架搭建了一个简单的前端对话界面。 ## 使用步骤 ### 1. csdn下载本项目并安装必备环境依赖 ### 必备 - JDK 15以上 - Neo4j 4.2.1 - Python3.6以上 - Django 2.1.7 - jieba 0.42.1 - fasttext 0.9.2 - py2neo 2020.1.1 ### 爬虫相关 - requests 2.25.1 - lxml 4.3.0 - retrying 1.3.3 - vthread 0.1.1 - cchardet 2.1.7 ### 其他 - pyTelegramBotAPI 3.7.4 (用于连接TelegramBot) ### 2. 安装Neo4j数据库 主要代码存放在MASystem文件夹中 - Crawler 爬虫代码以及爬取到的医疗信息 - dict 实体字典列表 - entities 爬取的所有数据,整理成json格式 - build_dict.py 从爬取后的数据中提取实体字典 - buIld_graph.py 依靠爬取的数据连接neo4j构建知识图谱 - request_disease.py 爬取疾病分类数据 - request_others.py 爬取其他分类数据 - classifier 意图分类器相关代码 - dict 部分意图语料和实体字典 - intent 意图语料 - models 存储训练好的模型 - fasttext_data.txt Fasttext库能够识别的语料 - intent.txt 所有意图的举例解释文件 - stopwords.txt 停用词语料 - train_intents_fasttext.py 训练Fasttext分类器的代码 - vocabs.txt 训练Fasttext过程中留下的字典,不重要 - word2vec-test.py 采用word2vec的尝试,不重要 - contextual 处理上下文信息的代码 - IntentDetector.py 调用模型识别意图代码 - IntentProcessor.py 记忆上下文实体,处理对应意图的回复 - KGQuery.py 提供从图数据库查询的各类方法 - telegramBot.py 支持机器人在telegram上运行的相关代码 - static中存放网页相关的静态文件 - 其他文件均为 Django框架生成或依赖的文件 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 Pytorch框架基于BERT-BILSTM-CRF实现的中文命名实体识别python源码+详细项目说明.zip 依赖 ```python python==3.6 (可选) pytorch==1.6.0 (可选) pytorch-crf==0.7.2 transformers==4.5.0 numpy==1.22.4 packaging==21.3 ``` **** 这里总结下步骤,以cner数据为例: ```python 先去hugging face下载相关文件到chinese-bert-wwwm-ext下。 目录结构: --pytorch_bilstm_crf_ner --model_hub ----chinese-bert-wwm-ext ------vocab.txt ------config.json ------pytorch_model.bin 1、原始数据放在data/cner/raw_data/下,并新建mid_data和final_data两个文件夹。 2、将raw_data下的数据处理成mid_data下的格式。其中: --labels.txt:实体类别 ["PRO", "ORG", "CONT", "RACE", "NAME", "EDU", "LOC", "TITLE"] --nor_ent2id.json:BIOES格式的标签 {"O": 0, "B-PRO": 1, "I-PRO": 2, "E-PRO": 3, "S-PRO": 4, "B-ORG": 5, "I-ORG": 6, "E-ORG": 7, "S-ORG": 8, "B-CONT": 9, "I-CONT": 10, "E-CONT": 11, "S-CONT": 12, "B-RACE": 13, "I-RACE": 14, "E-RACE": 15, "S-RACE": 16, "B-NAME": 17, "I-NAME": 18, "E-NAME": 19, "S-NAME": 20, "B-EDU": 21, "I-EDU": 22, "E-EDU": 23, "S-EDU": 24, "B-LOC": 25, "I-LOC": 26, "E-LOC": 27, "S-LOC": 28, "B-TITLE": 29, "I-TITLE": 30, "E-TITLE": 31, "S-TITLE": 32} --train.json/dev.json/test.json:是一个列表,列表里面每个元素是: [ { "id": 0, "text": "常建良,男,", "labels": [ [ "T0", "NAME", 0, 3, # 后一位 "常建良" ] ] }, ...... ] 3、在preprocess.py里面修改数据集名称和设置文本最大长度,并按照其它数据一样添加一段代码。运行后得到final_data下的数据。 4、运行指令进行训练、验证和测试: python main.py \ --bert_dir="../model_hub/chinese-bert-wwm-ext/" \ --data_dir="./data/cner/" \ --data_name="cner" \ --model_name="bert" \# 默认为bert --log_dir="./logs/" \ --output_dir="./checkpoints/" \ --num_tags=33 \# BIOES标签的数目 --seed=123 \ --gpu_ids="0" \ --max_seq_len=150 \# 文本最大长度,和prepcoess.py里面保持一致 --lr=3e-5 \ --crf_lr=3e-2 \ --other_lr=3e-4 \ --train_batch_size=32 \# 训练batch_size --train_epochs=3 \# 训练epoc
比赛需要故只开源了粗劣的第一个版本demo实现,第二版本改进使用yoloV3模型进行垃圾分类检测,机器臂分拣垃圾,垃圾分类数据集重新收集,并有微信小程序的用户查询垃圾分类及反馈机制 注意看ReadMe文件,注意看ReadMe文件,注意看ReadMe文件 B站视频介绍地址:https://www.bilibili.com/video/av80830870 交流群:1074171553 题主双非师范院校2021考研狗,如果你觉得这个小项目有帮助到你,请为项目点一个star,不管是考试型选手毕设项目被迫营业还是直接拿去二开参加比赛,这些都没问题,开源项目就是人人为我我为人人,但请尊重他人劳动成果,大家都是同龄人.心上无垢,林间有风. 材料清单 树莓派 1个 pca9685 16路舵机驱动板 1个 7寸可触摸显示屏一个 MG996R 舵机4个 垃圾桶4个 usb免驱动摄像头1个 树莓派GPIO扩展板转接线柱1个 硅胶航模导线若干 环境需求 1.开发环境 神经网络搭建—python 依赖 tensorflow,keras 训练图片来源华为云2019垃圾分类大赛提供 训练图片地址:https://developer.huaweicloud.com/hero/forum.php?mod=viewthread&tid=24106 下载图片文件后将文件解压覆盖为 garbage_classify 放入 垃圾分类-本地训练/根目录 神经网络开源模型--- resnet50 models 目录需要手动下载resnet50 的模型文件放入 resnet50模型文件名:resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5 百度就可以找到下载放入即可:https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5 2.运行开发环境 进入 "垃圾分类-本地训练"目录 环境初始化 python3 安装框架flaskpip3 install flask 安装tensorflow,keras等依赖 pip3 install tensorflow==1.13.1 pip3 install keras==2.3.1 运行 1.命令python3 train.py开启训练 2.命令python3 predict_local.py开启输入图片测试 3. 训练服务模型部署 进入 "垃圾分类-服务部署"目录 output_model 目录存放的是本地训练完成导出的h5模型文件 models 目录需要手动下载resnet50 的模型文件放入 resnet50模型文件名:resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5 百度就可以找到下载放入即可:https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5 环境初始化 安装框架flaskpip3 install flask 安装tensorflow,keras等依赖 pip3 install tensorflow==1.13.1 pip3 install keras==2.3.1 运行 1.命令python3 run.py开启窗口本地调试 2.命令python3 flask_sever.py开启服务部署 3.命令sh ./start.sh开启后台运行服务部署 4.树莓派界面搭建 基于nodejs electron-vue 强烈建议使用cnpm来安装nodejs库 进入 "树莓派端/garbage_desktop"目录 安装依赖 cnpm install 开发模式 cnpm run dev 打包发布 cnpm run build 5.树莓派端flask-api接口操作硬件 进入"进入 "树莓派端/garbage_app_sever"目录" 注意树莓派应该开启I2C,确保pca9685 I2C方式接入后可显示地址 命令:i2cdetect -y 1 查看 地址项 0x40是否已经接入树莓派 运行 python3 app_sever.py 或者 sh start.sh 启动 若提示缺少依赖: pip3 install adafruit-pca9685 pip3 install flask

34

社区成员

发帖
与我相关
我的任务
社区描述
依托实践实训环节,为同学们更好掌握所需的基本技能,提供一个交流学习的社区。
python安全linux 高校
社区管理员
  • shawn904
  • weixin_44003872
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧