AI

分类下相关文章

对话机器人 Rasa (二):中文支持

Rasa 安装之后,默认是不支持中文对话的。 学习、配置的策略 查到的示例,pipeline 配置各不相同,不动手试,难以知道相互间的优劣。 所以,先从能运行的最简单配置开始。例如使用《Rasa 实战:构建开源对话机器人》这本书上的推荐的中文 pipeline。 里面有个医疗机器人的 nlu 配置示例。当然,只包含了 nlu 部分的配置,即识别意图和实体,没有回复配置。 效果 基于 Rasa websocket 的网页组件 实现。 最简单的中文配置 打开项目根目录下的 config.yml 配置文件,修改如下: recipe: default.v1 language: zh pipeli ...

阅读全文...

Rasa NLU pipeline 组件列表

官方文档 https://rasa.com/docs/rasa/components 记录几个感觉比较重要的: 语言模型 Language Model MitieNLP: 预训练的语言模型之一,需要指定模型文件,网上有可以下载到的用百度知道和维基百科训练好的中文模型文件。 SpacyNLP: 另一个预训练的语言模型。也需要指定模型文件,以中文为例,有几个版本,https://spacy.io/usage/models, 小的几十M,大的几百M. 推荐使用至少中型模型,即 md,否则影响意图分类的性能。 在一些文章里看到说是官方推荐使用 SpacyNLP, 但是我在官方文档里没有找到这样的说 ...

阅读全文...

对话机器人 Rasa(二十一):Rasa 项目的 gitignore 配置

rasa init 初始化项目之后,可以看到增加了很多不需要添加到 git 项目管理中的文件,例如 模型文件。默认的模型文件大小就有 24M。 cache 文件 等。 在开始动手修改各种 yml 配置文件之前,最好先提交原始的文件到 git 管理中,防止误操作。 网上找到一个规范的 rasa gitignore 文件,用来过滤这些文件。 参考 https://raw.githubusercontent.com/RasaHQ/rasa-nlu-examples/main/.gitignore gitignore 配置 # Byte-compiled / optimized / DLL fil ...

阅读全文...

开源对话机器人框架 Rasa (一):安装

需求是实现一个特定领域的问答功能,交互模式类似跟 ChatGPT/文心一言聊天一样,或者是购物平台中的客服机器人。 基于 ChatGPT 的开源实现来训练模型肯定不现实,毕竟这么大的模型,训练成本极高,而且现实需求也不需要这么庞大的功能,只需要专业的领域知识即可。 此外,涉及到医疗领域,自动回复不能太随意,容易引起纠纷。所以最近经常看到有人在问“怎样使用 ChatGPT 构造一个客服机器人?”,我的感觉是,对场景理解有偏差。 找了一下发现一个不错的开源对话管理框架 Rasa。 Rasa Open Source is the most popular open source framework ...

阅读全文...

yolov5 模型导入 Android 后编译的 apk 文件体积巨大

参考前文,用 yolov5 的 pytorch torchscript lite 模型开发了一个多物体检测的 Android APP。 调试完成之后,进行编译打包 Generate Signed Bundle/APK。 然而,编译后的 APK 文件大小让我大吃一惊,足足有 240M。 使用 Android Studio 自带的 Build - Analyze APK 功能的分析结果: 好在不是面向 C 端的产品,否则估计没有几个人愿意下载这么大的 App,仅仅为了一个图像识别功能。 巨大的 apk 文件 torchscript lite 模型 model 文件大小:23M libpytor ...

阅读全文...

yolov5 pytorch mobile 模型导入 Android,实现图片目标检测

由于 yolov5 相关的 TensorFlow Lite 示例代码太少,而且都是旧版本的示例,导致我完全不知道怎么上手。 所以转投 pytorch mobile 的方案,主要是 facebook 官方的示例代码非常完整,且清晰明了,容易修改。 再就是国内 Android 手机普遍不能使用 google play 的服务,所以 TensorFlow lite 安装包小的优势也就没有了。至于性能,暂时没有要求,而且实测来看,pytorch mobile 的识别速度就非常快,几乎瞬间完成,没有做计时,估计也是几十毫秒的范围,已经很满意了。 识别效果 以识别照片中小麦穗数量为例: 导出 pytor ...

阅读全文...

yolo v5 导出 Android 手机上可以运行的 TFLite 模型

TFLite 是 TensorFlow Lite 的缩写。TFLite 在 Android 上的运行速度更快,因为它专门针对移动设备进行了优化。但是,最后我发现我实在找不到在 Android 上执行 yolov5 TFLite 模型的示例,转而使用 pytorch mobile 的 torchscript lite 模型实现了在 Android 上的目标检测。 虽然没有在 Android 上用 tflite 模型实现功能,但是记录一下导出 tflite 模型的操作方法。 导出命令 python export.py --weights yolov5s.pt --include tflite ...

阅读全文...

YOLO v5 PyTorch 训练数据标注文件 YAML 格式

从 roboflow 标注数据之后,导出的 YOLO v5 PyTorch 配置文件 YAML 格式 (TXT annotations and YAML config used with YOLOv5),里面的文件路径非常不友好,每次都需要修改调整。 特别是要上传到 colab 训练,在 google drive 里在线修改 yaml 文件非常麻烦。因为为了防止 Exception: Dataset not found 我都是用的绝对路径。 我的疑问是,是否存在一种路径组织方式可以同时满足本地和线上 (colab / kaggle),不需要来回改本地绝对路径。 周末陪我妈在毓璜顶医院排队做 ...

阅读全文...

pytorch 生成模型文件

模型文件格式有哪些 PyTorch生成的模型文件格式主要有以下几种: .pt/.pth 文件:这是 PyTorch 默认的模型保存格式,通常使用 torch.save() 函数保存。可以保存模型的全部参数,包括模型结构、权重和其他相关信息。还有 ptl 文件,例如 yolov5 pytorch mobile 模型导入 Android,实现图片目标检测 .tflite: TensorFlow Lite 用于 Android 上运行。 .coreml: CoreML 用于 ios / mac 系统上运行。 .onnx 文件:ONNX是跨平台的深度学习模型表示方法,可以将不同框架中训练好的模型转 ...

阅读全文...

幼苗数据集 plant seedlings

幼苗数据集,英文为 plant seedlings dataset。 https://www.kaggle.com/competitions/plant-seedlings-classification/data train 目录下有 221 张 Common wheat 的图片。 共十种植物的幼苗图片集。 Black-grass Charlock Cleavers Common Chickweed Common wheat Fat Hen Loose Silky-bent Maize Scentless Mayweed Shepherds Purse Small-flowered Cran ...

阅读全文...

迟到的 ChatGPT 试用感受

ChatGPT 已经火了一段时间了,我之前没有在实际工作中体验过这个工具,但是这个周由于看了百度文心一言的发布会,突然来了兴趣。 总体感受 非常震撼。ChatGPT 在很多问题的解答上,已经远远超过 Google 搜索带来的解决能力。例如,我问了两个关于 TR069 协议的问题,这两个问题我在 Google 上怎么搜都都不到满意的解答,github 上的开源代码也没有标准的做法,官方 pdf 文档也乱七八糟没有头绪。但是,ChatGPT 瞬间梳理了整个逻辑,而且给出了两个行之有效的解决方案。 我又尝试问 ChatGPT 如何实现一些 golang,或者 android 相关的代码如何实现的问题 ...

阅读全文...

百度文心一言

下午写代码的时候,顺便看了百度的文心一言发布会。看起来百度还是没有底气。用录制好的 demo 来演示。。。直播过程中,留言评论都是机刷,不敢放开评论功能,这个公司的文化真是谜一般。 估计是担心像 google 一样发布会出错,导致股票大跌。看了一下百度股价,发布会时一度大跌 9% 不过,敢于国内第一个发布 ChatGPT 的竞品,也算是有勇气了。 比较实用的几个应用场景 写藏头诗 用四川话阅读 生成海报图:这个估计是文心一格的功能,试用过一次生成 App 图标,无论是生成图片的质量、速度、价格都非常失望。短时间内无法替代人类设计师。 生成视频,用来生成产品的推广短视频很合适。但带来的问题是, ...

阅读全文...

conda 中安装 Segmentation Models Pytorch (SMP)

Segmentation Models Pytorch (SMP) 是一个基于 PyTorch 的 python 库,使用神经网络对图片进行分割的 。 https://github.com/qubvel/segmentation_models.pytorch 安装 pip conda install pip 设置国内的镜像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 因为安装时会自动下载 pytorch,大概 160M,要想加速还是换国内的源比较好。上面是清华大学的源。 安装 SMP p ...

阅读全文...

如何判断当前电脑上的 pytorch 是否支持 CUDA

CUDA CUDA 是 Nvidia GPU 提供的软件 API。 查看显卡型号 Windows 11,我的电脑 - 右键属性 - 设备管理器 - 显示适配器 例如,我这个 Dell 台式机是: NVIDIA GeForce GT 710 Intel(R) UHD Graphics 630 而我的笔记本则是 AMD 的显卡。 这些 GPU 都不支持 CUDA,GT 710 则是因为太老,也不支持。 查看 pytorch 是否支持 CUDA > python Python 3.10.9 Type "help", "copyright", &quo ...

阅读全文...

新建一个神经网络,方式一,基于 torch.nn.Sequential

构建神经网络的两种方式 PyTorch 有两种构建神经网络的方式: 简单粗暴式:使用 torch.nn.Sequential 类,初始化时,传入一系列操作 (operation) 通用式:定义 torch.nn.Module 的子类 由于涉及的新概念非常多,所以拆分成两个笔记。这里就先了解一下第一种方式。 torch.nn.Sequential https://pytorch.org/docs/stable/generated/torch.nn.Sequential.html CLASS torch.nn.Sequential(*args: Module) CLASS torch.nn.S ...

阅读全文...