- 博客(106)
- 资源 (1)
- 收藏
- 关注
原创 [玩转AIGC]LangChain文本分词器
我们知道对于LLaMA与LLaMA2的文本分词器为基于sentencepiece的BPE模型,Google ,而openai的文本分词器为tiktoken,据openai官方介绍,tiktoken是一个快速的BPE(Byte-Pair Encoding)分词器,支持词汇的扩展。将每个单词看成一个token,然后对其编号,实际上单词还有前缀,后缀,会有大量单词重复,需减少编码数量,对数据进行压缩,提高编码效率,BPE编码的目的是用一个有限的词表在token数量降到最低的情况下解决所有单词的分词。
2024-02-26 11:06:48
1591
原创 PyTorch、NCNN、CV::Mat三者张量的shape
Numpy: 在 Numpy 中,张量的形状通常按照 (h, w, c) 或者 (n, h, w, c) 的顺序排列,其中 h 是高度,w 是宽度,c 是通道数,n 是批量大小。NCNN: 在 NCNN 中,张量的形状通常按照 (w, h, c) 的顺序排列,其中 w 是宽度,h 是高度,c 是通道数。例如,如果你有一个形状为 (32, 3, 64, 64) 的张量,那么你有 32 个图像,每个图像有 3 个通道(例如 RGB),每个通道的高度和宽度都是 64。C 是通道数(channel number)
2024-02-04 18:00:20
803
原创 基于opencv的直线检测(python&C++)
提供了直线检测python与C++版本,用于检测竖直线与横线,主要流程为:图像二值化+Canny边缘检测+霍夫直线变换直线检测。
2024-01-15 11:18:54
4301
原创 [玩转AIGC]LLaMA2之如何微调模型
下面的your token就是要填从你自己的HuggingFace复制下来的token,根据上面的步骤走过来,你已经申请过权限了,所以token可用。有了权限就可以从HuggingFace上下载模型:https://huggingface.co/meta-llama。没有的话就自己创建一个token,也就是点击new token,再把创建的token复制下来。然后再去HuggingFace上submit权限申请,连接在下面。提交后还要等待仓库作者的确认,请求将在 1-2 天内得到处理。
2023-12-28 18:33:49
6057
原创 [玩转AIGC]LLaMA2之如何跑llama2.c的chat模式
之前我们关于llama2的相关内容主要停留在gc层面,没介绍chat模式,本文将简单介绍下llama2.c的chat模式如何跑起来。训练就算了,没卡训练不起来的,但是用CPU来对别人训练好的模型进行推理还是绰绰有余的,对的,这里没有GPU,不用烧钱,只需要一块CPU和足够的内存空间。这篇文章自认为比较水,哈哈哈。
2023-12-28 17:56:03
4422
原创 [玩转AIGC]LLaMA2训练中文文章撰写神器(数据准备,数据处理,模型训练,模型推理)
本文将基于llama2来教大家如何训练一个内容生成工具,即训练属于自己的AIGC(Artificial Intelligence Generated Content)
2023-12-28 17:31:11
7755
7
原创 ncnn模型数据的读取 load_model
定义了DataReader,没有做相应方法实现return 0;return 0;return 0;定义了DataReaderFromStdioPrivate,对FILE* fp 进行封装,仅仅就是封了一层public:: fp(_fp)FILE* fp;定义了DataReaderFromStdio,继承了DataReader,并传入了DataReaderFromStdioPrivate(也就是传入了FILE* fp)delete d;: d(0)
2023-12-20 11:21:30
4400
原创 ncnn参数数据的读取 load_param
ncnn数据加载,主要有两个函数,分别为Net::load_model(),Net::load_param(),这两个函数在net.cpp里面定义了,对于数据读取,最终是调用了,datareader.cpp实现的方法,因为在加载模型数据时,是先通过.param文件来获取layer,再通过.bin来获取layer的参数,所以下面我们先来解开Net::load_param(),看看里面到底有些啥。首先看param的加载,主要涉及以下2个类:net.cppnet.h。
2023-12-20 11:15:00
4760
原创 [玩转AIGC]如何训练LLaMA2(模型训练、推理、代码讲解,并附可直接运行的kaggle连接)
Llama 2,基于优化的 Transformer 架构,是Meta AI正式发布的最新一代开源大模型,一系列模型(7b、13b、70b)均开源可商用,效果直逼gpt3.5,本文以LLaMA2.c来说明如何基于LLaMA2来训练一个故事生成模型,主要包括数据处理,模型训练,模型推理,关键代码简介等等。
2023-07-31 14:42:51
24953
13
原创 [玩转AIGC]sentencepiece训练一个Tokenizer(分词器)
前面我们介绍了一种字符编码方式这种方式是对一个一个字符编码,丢失了很多信息比如“机器学习训练”,会被编码为“机”,“器”,“学”,“习”,“训”,“练”,单独一个字符,丢失了关联性,比如想分割为“机器/学习/训练”该怎么办呢,这里可以用谷歌开源的工具sentencepiece(当然了,github仓库说明了这不是 Google 官方产品),接下来我们来看看怎么安装使用。
2023-07-28 13:59:31
8553
2
原创 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之ncnn(python)(五)
完成了onnx模型的转换之后,我们要做的就是将模型转换为ncnn模型。4、ncnn模型加载与推理(python版)有点问题,先把调试代码贴在下面吧。3、onnx模型转换为ncnn。
2023-07-26 10:02:44
5405
原创 【如何训练一个中英翻译模型】LSTM机器翻译模型部署之onnx(python)(四)
num_decoder_tokens同样可以在训练的时候获取到(至于不知道怎么来的,可以看这个系列文章的第一、二篇),我这边得到的num_decoder_tokens是849,当然实际上这个模型的 input_2:[unk__55,unk__56,849]已经给了num_decoder_tokens,我们只需要把unk__55,unk__56都改为1就可以了,即[1,1,849],那么对onnx进行simplify。哈哈哈,开完笑的,都写出来了,怎么会不知道,请听我慢慢说来。可得到简化后的onnx模型啦。
2023-07-25 16:56:26
5424
原创 【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三)
细心的小伙伴会发现前面的文章在模型保存之后进行模型推理时,我们使用的数据是在训练之前我们对数据进行处理的encoder_input_data中读取,而不是我们手动输入的,那么这一章主要来解决自定义输入推理的问题。模型部署也是很重要的一部分,这里先讲基于python的部署,后面我们还要将模型部署到移动端。会得到这样的两个文件:input_words.txt,target_words.txt。
2023-07-25 15:17:34
4980
原创 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存(二)
基于LSTM训练一个翻译器,要怎么做呢?其实很简单,也没那么复杂。这里将解码器与编码器分别保存下来。
2023-07-25 14:42:46
6741
1
原创 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码(一)
先假设,我们的训练数据只取第一行,那就是只有“Wait!对于中译英,我们希望让网络输入:“Wait!”,输入:“Hello!显然需要进行编码,大白话说就是用“0101…”这样的数据来表示这些文字(为了方便表达,后面称为字符)。那么问题来了,这样的数据要如何输入网络进行训练呢?
2023-07-25 10:22:06
5595
3
原创 DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampl
DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead
2022-09-16 11:44:03
7330
原创 android studio -- update失败
在目录下用git pull git push 等git功能正常,但是在android studio 使用确异常,比如使用update进行pull时,报错,解决方法如下
2022-06-15 15:52:40
5514
2
原创 centos 安装opencv-python(及其安装错误解决方法)
pip3 install opencv-python引入模块出错ImportError: libSM.so.6: cannot open shared object file: No such file or directoryImportError: libXrender.so.1: cannot open shared object file: No such file or directoryImportError: libXext.so.6: cannot open shared obje
2022-05-30 14:42:57
4797
原创 Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion
报错如图:原因是没安装cudnn:查看cuda版本nvcc --version下载cudnn:https://developer.nvidia.com/rdp/cudnn-archive选择对应版本:这里选择for CUDA 10.1的下载后解压:tar vxf cudnn-10.1-linux-x64-v8.0.5.39.tgz解压后得到cuda的文件夹,重命名为cudnn_8.0.5,并拷贝到/usr/local/下:sudo cp -r -d ./cudnn_8.0.5 usr/l
2022-05-25 11:41:41
6856
原创 ubuntu 安装wireshark无权限问题解决
在应用商店安装wireshark:打开后无权限,根据提示依次输入sudo dpkg-reconfigure wireshark-common选择yes,回车ok 回车然后再添加用户组sudo usermod -a -G wireshark sixfive登出ubuntu系统后,再登录ubuntu系统,生效...
2022-03-16 19:47:48
4824
1
原创 ERROR: cannot launch node of type [map_server/map_server]: map_server
如上图所示,版本号为:noetic根据ros版本号,进行安装:sudo apt-get install ros-noetic-map-server 将noetic换成你的版本号
2021-11-19 16:19:48
2339
原创 ROS查看节点图rqt_graph报错ValueError: PyCapsule_GetPointer called with incorrect name
我安装了pyqt5 5.15.2,版本太新了 ,将版本降级:pip3 install PyQt5==5.10.1安装成功:Installing collected packages: PyQt5 Attempting uninstall: PyQt5 Found existing installation: PyQt5 5.15.2 Uninstalling PyQt5-5.15.2: Successfully uninstalled PyQt5-5.15.2Suc
2021-11-19 15:53:00
3699
4
原创 TEASER-plusplus python运行环境安装
安装教程:https://teaser.readthedocs.io/en/latest/installation.html#installing-python-bindings安装python11下载库:https://github.com/MIT-SPARK/TEASER-plusplusgit clone https://github.com/MIT-SPARK/TEASER-plusplus.git安装mkdir buildcd buildcmake -DTEASERPP_PYT
2021-11-16 14:01:09
2972
9
原创 pybind11的安装以及库的使用(ubuntu20.14)
1、安装第三方库sudo apt-get install cmake==3.18.2#(已经安装cmake,升级一下:sudo pip install --upgrade cmake==3.18.2)sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pytest2、安装pybind111)源码:https://github.com/pybind/pybind11克隆下来git clone https://githu
2021-11-16 13:39:39
16341
1
原创 PCL安装以及include的配置(基于ubuntu + vscode)
官网:https://pointclouds.org/downloads/sudo apt install libpcl-dev安装完成之后includepath在 /usr/include/pcl-1.10这里安装的是1.10.所以是pcl-1.10安装之后打开vscode,进行inlcude,发现问题鼠标放置到灯泡那里可以看到需要添加的路径先将/usr/include/pcl-1.10里面的pcl拷贝出来,放到/usr/include/,然后再将pcl-1.10删除cd /usr/inc
2021-11-04 15:15:53
3978
原创 leaflet地图缩放
<!DOCTYPE html><html><head> <title>Zoom Levels Tutorial - Leaflet</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="shortcut icon" type
2021-10-21 18:30:43
1213
原创 Leaflet.Editable简单使用
<head><script src="Leaflet.Editable/src/Leaflet.Editable.js"></script></head> var leafletMap = L.map('mapDiv', { editable: true //需设置为可编辑 }); leafletMap.on('editable:drawing:start', function (e) { cons
2021-09-29 14:51:06
2281
原创 leaftlet入门教程一
1、实时输出坐标// 监听 mousemove 事件map.on('mousemove', (e) => { let latlng = e.latlng; console.log(latlng );// {lat: 30.59, lng: 114.32}}); // 取消 mousemove 事件map.off('mousemove');2、设置地图<head>中添加 <link rel="stylesheet" href="./leafl
2021-09-27 10:30:55
1603
原创 rapidjson读取JSON文件(包括库的链接)
官网:http://rapidjson.org/zh-cn/开发环境:VS code 2019一、环境配置1、下载rapidjson下载网址:https://github.com/Tencent/rapidjson/下载完成之后,打开目录,可以看到以下文件,其中include是主要文件,也是最重要的文件可以将文件移动到工程项目里面2、添加库的链接打开调试属性选择VC++目录->包含目录将上面的include目录包含进来,即可使用了,$(SolutionDir)表示当前的工程目
2021-09-21 10:41:37
3678
原创 安装Note.js服务器
安装服务器npm install -g http-server启动服务器http-server访问服务器http://127.0.0.1:8080http://IP:8080非安全模式下启动google chrome浏览器winows下 chrome.exe --disable-web-security linux下 google-chrome --disable-web-securitymacos下 open -a "Google Chrome" --args --di
2021-09-18 11:42:42
123
原创 linux 下安装notepad++(notepad-plus-plus)
安装snap install notepad-plus-plus查看安装的IDsnap changes中断安装 sudo snap abort 17 #17为id号删除sudo snap remove notepad-plus-plus安装插件Pluguns->Pluguns Admin搜索 JSON Viewer选择中并安装
2021-09-18 11:29:36
2500
原创 yolov5报错:RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place
for mi, s in zip(m.m, m.stride): # from b = mi.bias.view(m.na, -1) # conv.bias(255) to (3,85) b[:, 4] += math.log(8 / (640 / s) ** 2) # obj (8 objects per 640 image) b[:, 5:] += math.log(0.6 / (m.nc - 0.99))...
2021-09-17 15:45:47
3121
3
原创 打开多个Android Studio卡死的解决方法(提示内存不足)
找到Android Studio的安装路径打开bin文件夹下的studio.exe.vmoptions,可以用记事本打开找到下面三个参数,默认设置的如下:-Xms256m ( Java能够分配的内存)-Xmx768m ( JAVA能够分配的最大内存)-XX:ReservedCodeCacheSize=240m (android studio缓存)显然值有点小,需要更改大一些,这边统一改为2048m修改后如下:-Xms2048m ( Java能够分配的内存)-Xmx2048
2021-08-06 14:18:31
1076
原创 ubuntu安装安卓开发环境(android studio)
环境:ubuntu18.4工具:jdk;android studio;SDK1、安装jdksudo apt-get upgradesudo aapt-get updatesudo apt-get install default-jresudo apt-get install default-jdk2、下载并配置android studiohttps://developer.android.google.cn/studio/#downloads点击下载:...
2021-07-24 11:04:45
31339
2
原创 Mac OS打印文件提示:您需要先安装打印机方可执行打印相关任务
问题描述打印文件时候出现一下提示,无法为pdf文件解决方法打开系统偏好设置选择打印机与扫描仪点击+????,选择网络,输入一个随意的ip地址,点击添加点击跳过点击好完成添加问题解决...
2021-05-13 10:47:05
2759
原创 黑苹果MacOS Big Sur11.2更新11.3后usb3.0无法使用解决办法
一、问题将MacOS Big Sur11.2更新到11.3后,发现USB3.0用不了,鼠标键盘U盘插入无反应,硬盘插入能够正常读取二、解决方法打开引导配置文件/EFI/OC/config.plist找到内核设置,将XhciPortLimit前面的勾去掉重启即可...
2021-05-12 08:19:36
10039
1
原创 黑苹果MacOS Big Sur11.2.3 OC引导 i5-9600+华硕(ASUS)TUF B365M-PLUS GAMING ITX 安装镜像分享,可无痛直升系统
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-05-11 16:04:59
2937
3
原创 BeautifulSoup的使用
使用流程:- 导包:from bs4 import BeautifulSoup- 使用方式:可以将一个html文档,转化为BeautifulSoup对象,然后通过对象的方法或者属性去查找指定的节点内容(1)转化本地文件:- soup = BeautifulSoup(open(‘本地文件’), ‘lxml’)(2)转化网络文件:- soup = BeautifulSoup(‘字符串类型或者字节类型’, ‘lxml’)(3)打印soup对象显示内容为html文件中的内容基础巩固:(1)根.
2021-05-05 11:52:58
1086
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人