模型
SUN_SU3
这个作者很懒,什么都没留下…
展开
-
Tensorflow 两个张量的交集
tensorflow 矩阵/张量对应维度取交集/并集/差集原创 2022-09-01 17:28:11 · 1211 阅读 · 1 评论 -
记录mac下TF-Lite的C++编译过程(cmake编译)及引用示例
下载安装cmake官网:cmake克隆tensorflow官方库git clone https://github.com/tensorflow/tensorflow.git tensorflow_src编译tentsorflow-litemkdir tflite_buildcd tflite_buildcmake …/tensorflow_src/tensorflow/litecmake --build . -j (or make)引用示例新建test项目mkdir te原创 2022-04-27 17:34:22 · 1003 阅读 · 0 评论 -
用Transformers的Trainer做Text-CNN文本分类
Transformers的Trainer这个类做Bert Fine-tuning时比较方便,近期用Text-CNN做文本分类实验提升推理速度时,就直接引用了Trainer的训练流程来训练text-CNN,简化训练步骤import osimport torchimport numpy as npimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom sklearn import met原创 2022-01-12 10:22:12 · 1490 阅读 · 0 评论 -
Pytorch 多GPU分布式数据并行(DistributedDataParallel)
DistributedDataParallel, 多进程,支持数据并行、模型并行,支持单机多卡、多机多卡;进程间仅传递参数,运行效率高于DataParallel下面是一个文本分类的完整示例import osimport timeimport torchimport torch.nn as nnimport torch.optim as optimimport torch.distributed as distimport torch.multiprocessing as mpfrom da原创 2021-11-24 10:19:15 · 1041 阅读 · 0 评论 -
Pytorch 多GPU数据并行(DataParallel)
利用多个空闲GPU,提高模型训练推理速度import torch from gpuinfo import GPUInfo# 查询空闲GPUgpu_ids = GPUInfo.check_empty()# 设置模型初始化设备device = torch.device(f"cuda:{str(gpu_ids[0])}" if gpu_ids else "cpu")# 数据并行 model = xxxxxxmodel = torch.nn.DataParallel(model, device_原创 2021-11-11 19:35:04 · 2035 阅读 · 0 评论 -
梯度累加(Gradient Accumulation)
受显存限制,运行一些预训练的large模型时,batch-size往往设置的比较小1-4,否则就会‘CUDA out of memory’,但一般batch-size越大(一定范围内)模型收敛越稳定效果相对越好,这时梯度累加(Gradient Accumulation)就可以发挥作用了,梯度累加可以先累加多个batch的梯度再进行一次参数更新,相当于增大了batch-size,这里记录一下梯度累计的使用(Pytorch)# 截取脚本片段step = 0accum_step = 10for epoch原创 2021-11-05 10:25:41 · 3127 阅读 · 2 评论 -
Transformers模型参数平均(bart为例)
from transformers import BartForConditionalGeneration, BertTokenizerdef avg_parameters(model_files, save_model=None): avg_model = BartForConditionalGeneration.from_pretrained(model_files[0]) avg_model_p = avg_model.state_dict() parm_name = []原创 2021-10-09 17:17:15 · 736 阅读 · 0 评论 -
基于Prompt的MLM文本分类-v2
自动寻找Prompt实验版本好多参数可调import osimport torchimport loggingimport datasetsimport transformersimport numpy as npimport torch.nn as nnfrom sklearn import metricsfrom datasets import Datasetfrom torch.nn import CrossEntropyLossfrom sklearn.model_selec原创 2021-04-02 15:44:09 · 2095 阅读 · 19 评论 -
基于Prompt的MLM文本分类
简介常规NLP做文本分类时常用Transfer Learning的方式,在预训练bert上加一个分类层,哪个输出节点概率最大则划分到哪一类别。而基于Prompt的MLM文本分类是将文本分类任务转化为MLM( Masked Language Modeling)任务,通过[MASK]位置的输出来判断类别。例如通过文本描述判定天气好坏,类别【好、坏】:常规方式:今天阳光明媚! 【好】基于Prompt的MLM: 天气[MASK],今天阳光明媚!【天气好,今天阳光明媚!】Prompt的设定可以有多种方式原创 2021-03-31 20:09:48 · 7919 阅读 · 36 评论 -
pytorch低版本环境加载高版本(1.6+)模型报错(xxx is a zip archive (did you mean to use torch.jit.load()?))
问题描述transformers 4.0+版本训练出来的模型,在3.0的Model.from_pretrained中加载会报错,pytorch_model.bin is a zip archive (did you mean to use torch.jit.load()?)这是因为pytorch1.6及之后,更换了保存模型文件的方式解决方法将高版本的,模型文件重新保存一下,加上参数_use_new_zipfile_serialization=False,这样模型就可以在1.6以下的环境中运行了i原创 2021-03-17 14:58:22 · 5810 阅读 · 6 评论 -
Adapter Transformers 模型训练
from transformers import BertForSequenceClassificationfrom transformers import AdapterType, MultiLingAdapterArguments, HfArgumentParser, AdapterConfigmodel = BertForSequenceClassification.from_pretrained(model_name, num_labels=n_label)parser = HfArgumen原创 2021-02-26 16:30:24 · 1791 阅读 · 1 评论 -
Tensorflow 2.x 嵌入层(Embedding)可视化 & Embedding Projector
将模型的Embedding层投影到三维空间,实现可视化模型结构,一个简单的分类示例,构建过程就不在这里展示了model.summary()history = model.fit(x, y, epochs=5)获取Embedding层参数emb = model.layers[0] #embedding层是模型第一层weights = emb.get_weights()[0]print(weights.shape)# (1000, 16) vocab_size=1000写入文原创 2020-05-25 10:25:40 · 3221 阅读 · 1 评论 -
Tensorflow 2.x 卷积层(Convolution)中间结果可视化
模型构建过程省略,直接看下模型结构:model.summary()卷积中间过程可视化:import matplotlib.pyplot as pltimport numpy as npimport randomfrom tensorflow.keras.preprocessing.image import img_to_array, load_img# 定义新的模型,将原模型的中间过程当作输出successive_outputs = [layer.output for layer in原创 2020-05-26 16:45:45 · 1694 阅读 · 3 评论 -
Tensorflow 2.x accuracy和loss曲线
TF2.x版本,画出accuracy和loss曲线,便于查看模型拟合程度import matplotlib.image as mpimgimport matplotlib.pyplot as plthistory = model.fit(****) # 模型构建及训练过程就不在这里展示acc=history.history['accuracy']val_acc=history.history['val_accuracy']loss=history.history['loss']val_lo原创 2020-05-26 15:41:23 · 3763 阅读 · 2 评论 -
Tensorflow2.0 tf.keras.Model.load_weights() 报错处理
错误描述:保存模型:model.save_weights(’./model.h5’)脚本重启加载模型:model.load_weights(’./model.h5’)模型报错:ValueError: You are trying to load a weight file containing 12 layers into a model with 0 layers.问题分析:模型...原创 2020-04-05 17:22:45 · 7428 阅读 · 5 评论 -
深度学习库 trax 简单事例Trax Quick Intro
Google 的深度学习库Trax,其简版教程(Trax Quick Intro)需要通过翻墙才能看,这次当个搬运工,这是一个关于transformer训练和预测的简要介绍:导入包:! pip install -q -U trax! pip install -q tensorflowimport osimport numpy as npimport trax模拟训练数据:#...原创 2020-03-25 16:43:47 · 1141 阅读 · 4 评论 -
Docker 部署tensorflow_model_server过程记录
查看CUDA版本:cat /usr/local/cuda/version.txt查看文件链接到哪里:ls -al libcuda.so.1docker 下 tensorflow_model_server t2t部署1.安装docker见菜鸟教程:http://www.runoob.com/docker/docker-tutorial.html2.下载serving镜像:docker...原创 2019-08-27 18:30:32 · 2090 阅读 · 0 评论 -
XLM使用示例--Supervised NMT
应用facebook 的XLM做机器翻译的示例,此为过程记录:1.clone XLM源码 git clone https://github.com/facebookresearch/XLM.git2. 处理数据数据cd 到XLM目录,查看处理数据源码文件,梳理语料处理步骤,由于自有语料都是双边语料,所以直接看get-data-para.sh文件,源码提供双边语料下载和处理,由于...原创 2019-08-23 17:42:17 · 875 阅读 · 4 评论 -
Tensor2Tensor使用记录
NMT方向1)编写自己的问题定义脚本可参照 tensor2tensor/data_generators/translate_enzh.py脚本进行编写,主要是改一下训练数据和测试数据路径,定义词典大小和名称,也可以自定义词典什么的,这个根据需要更改注意:类前要加@registry.register_problem,把这个任务注册上,不然是找不到这个任务类的名称和脚本命名要保持一致,类是...原创 2019-09-06 17:25:01 · 853 阅读 · 0 评论 -
tensorflow模型冻结
查看模型输入输出节点名称saved_model_cli show --dir ./xxx --all如:冻结模型freeze_graph --input_saved_model_dir --output_node_names --output_graph问题模型冻结时出现的BUG:tensorflow.python.framework.errors_impl.InternalEr...原创 2019-05-21 11:44:13 · 1562 阅读 · 0 评论