摘要: 参考 https://github.com/ollama/ollama https://zhuanlan.zhihu.com/p/689555159 https://zhuanlan.zhihu.com/p/687099148 https://zhuanlan.zhihu.com/p/6851662 阅读全文
posted @ 2024-04-04 20:31 harrychinese 阅读(172) 评论(0) 推荐(0) 编辑
摘要: ScottPlot5 支持blazor, 内置支持缩放和拖地等交互性, 其他交互性暂不支持, 比如选中指定散点, 显示散点的tooltip. 下面是一个示例, @page "/" @using ScottPlot @using ScottPlot.Blazor <PageTitle>Home</Pa 阅读全文
posted @ 2024-03-16 22:36 harrychinese 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 系统设计101 https://github.com/ByteByteGoHq/system-design-101 中文算法讲解, 含多种编程语言实现 https://github.com/krahets/hello-algo, 提供PDF版下载 阅读全文
posted @ 2024-03-13 19:52 harrychinese 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 结论 虽然WSL下无法使用ROCm加速, 但宿主机是Linux下是可以的, 而且核显也是可以使用ROCm加速的. ROCm ROCm 是AMD开发的高性能计算平台, 对应的是CUDA. 使用ROCm后AMD的GPU也可以实现高性能数学计算. ROCm支持的平台有: 支持Linux 支持Docker 阅读全文
posted @ 2024-03-07 07:34 harrychinese 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 结论: Windows 无法通过WLS2的AMD ROCm Docker无法找到GPU, 参考: https://unix.stackexchange.com/questions/715847/wsl2-issue-installing-new-kernel/715922#715922 Linux作 阅读全文
posted @ 2024-03-07 07:27 harrychinese 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 老版docker desktop windows 底层使用virtual box 虚拟机技术实现容器化, 新版版本底层换成了wsl2架构, desktop 会自动创建2个带docker前缀的wsl, 以此实现容器化, 分别是: docker-desktop: 用来运行 docker engine, 阅读全文
posted @ 2024-03-04 21:45 harrychinese 阅读(167) 评论(0) 推荐(0) 编辑
摘要: DirectML 是什么 DirectML 是微软提供的类似于CUDA的基础计算框架, 不同于CUDA必须使用N卡GPU, DirectML要求显卡支持DirectX 12即可, 所以AMD和intel的核显也能支持. Pytorch 要使用 DirectML 作为计算的backend, 需要安装p 阅读全文
posted @ 2024-03-03 22:39 harrychinese 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 贾志刚老师的博文 https://blog.csdn.net/jia20003/article/details/134973175 阅读全文
posted @ 2024-02-26 21:44 harrychinese 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 可编辑模式下安装 python 包 一般情况下, 我们使用的是 pip install pkg 来完成包的安装, 默认的安装的目标目录在 site-packages 下, 这种情况非常适合我们引用某些成熟包. 如果我们想要给github某个项目贡献PR, 或者仅仅要魔改一下某个项目, 可以使用 ed 阅读全文
posted @ 2024-02-26 21:34 harrychinese 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 在参考文献1中作者给出了多种注意力实现机制, 并指出了 ResCBAM 机制涨点效果最好, 给提供非常详尽的工程化说明. 代码示例: https://github.com/ruiyangju/fracture_detection_improved_yolov8 https://github.com/ 阅读全文
posted @ 2024-02-25 20:49 harrychinese 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 钢板缺陷识别-机器视觉案例-Kaggle比赛 https://blog.csdn.net/weixin_46614841/article/details/122202408 https://github.com/PaddlePaddle/awesome-DeepLearning/tree/maste 阅读全文
posted @ 2024-02-20 21:19 harrychinese 阅读(13) 评论(0) 推荐(0) 编辑
摘要: yolov5 自带 flask api https://github.com/ultralytics/yolov5/blob/master/utils/flask_rest_api/README.md Yolov5-on-Flask项目: https://github.com/muhk01/Yolo 阅读全文
posted @ 2024-02-19 21:27 harrychinese 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 特征融合 特征融合通常是指将不同层次的feature map进行整合, 以便在检测head能利用不同尺寸的信息. 特征融合手段包括: concat 拼接 FPN 特征金字塔网络 BiFPN 双向特征金字塔网络 SCP 结构单元: 这些结构单元通过卷积核归一化操作完成特征优化, 减少计算量 注意力机制 阅读全文
posted @ 2024-02-19 21:22 harrychinese 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 论文1 论文地址: https://www.mdpi.com/2227-9717/12/1/205 Research on an Intelligent Identification Method for Wind Turbine Blade Damage Based on CBAM-BiFPN-Y 阅读全文
posted @ 2024-02-19 21:19 harrychinese 阅读(32) 评论(0) 推荐(0) 编辑
摘要: SAHI 资料 yolov8示例代码: https://github.com/obss/sahi/blob/main/demo/inference_for_yolov8.ipynb 测试图像: https://github.com/obss/sahi/blob/main/tests/data/sma 阅读全文
posted @ 2024-02-19 15:12 harrychinese 阅读(49) 评论(0) 推荐(0) 编辑
摘要: Windows 窗体应用可以使用一些现成的C#类库实现yolov8的predict功能, 本文使用https://github.com/dme-compunet/YoloV8 项目的nuget包. 集成方法非常简单, 但发现这种方式预测准确度下降了很多, 看来还是使用Python API预测更好一些 阅读全文
posted @ 2024-02-17 19:11 harrychinese 阅读(938) 评论(0) 推荐(0) 编辑
摘要: https://learnopencv.com/train-yolo-nas-on-custom-dataset/ https://learnopencv.com/yolo-nas/ https://docs.deci.ai/super-gradients/latest/documentation/ 阅读全文
posted @ 2024-02-16 21:03 harrychinese 阅读(16) 评论(0) 推荐(0) 编辑
摘要: tensorboard 功能 Yolov8源码已经集成了很多个metrics监控系统, 源码位置: ultralytics\utils\callbacks\, 包括 wandb、 tensorboard、 clearml 等等. 和其他系统相比, tensorboard 功能较弱. yolov8 自 阅读全文
posted @ 2024-02-15 23:12 harrychinese 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 参考文档: https://docs.ultralytics.com/modes/predict/#working-with-results https://zhuanlan.zhihu.com/p/655162922 https://thinkinfi.com/motorcycle-helmet- 阅读全文
posted @ 2024-02-15 13:50 harrychinese 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 本文内容基本摘抄自公众号文章: 小目标检测问题分析和优化思路 小目标检测面临的挑战: 可用特征少 定位精度要求高 数据集中的小目标数量占比少 小目标标注面积占比小 样本不均匀问题 小目标聚集问题 网络结构问题 优化思路1: 数据增强 数据增强是一个提升检测性能简单有效方法, 我们可以使用数据增强方法 阅读全文
posted @ 2024-02-14 18:48 harrychinese 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 我自己找的文章 理解yaml模型文件: https://blog.csdn.net/qq1198768105/article/details/125848134 https://blog.csdn.net/qq_42452134/category_12534068.html https://zhua 阅读全文
posted @ 2024-02-14 16:51 harrychinese 阅读(14) 评论(0) 推荐(0) 编辑
摘要: Wandb 概述 WandB 即 Weigtht and Bias的缩写, 是深度学习中经常使用的metrics记录工具, 功能比TensorBoard强大, 主要功能有: 它可以记录每次训练的版本信息, 包括超参、tag、project 等 自动上传云端,方便将多台机器的实验做对比分析 强大的表格 阅读全文
posted @ 2024-02-06 23:07 harrychinese 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 测试场景 我的电脑没有GPU, 想着增加内存多少会提升一下深度学习的速度, 实践证明, 增加内存并不能提升速度, 连一星点效果都没有, 原因也简单, 瓶颈在CPU上而不是内存. 如果手上没有GPU的电脑, 还是直接在算力平台上租用靠谱. 测试结果如下: 内存 batch 内存使用率 5 epoch耗 阅读全文
posted @ 2024-02-03 16:07 harrychinese 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 笔记本 惠普(HP) 暗影精灵9PLUS 高能版暗影精灵8 17.3英寸 高端电竞游戏本笔记本电脑 i7HX RTX3080Ti-16G 2.5K 高刷新 超竞屏 https://item.jd.com/10094836524883.html 人民币: 11999.00 英特尔® 酷睿™ i7-12 阅读全文
posted @ 2024-01-21 21:32 harrychinese 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 模型可视化 netron网站 netron源码 yolo官方针对几个流行数据集的转换工具 在yaml文件中包含处理脚本 yolov5: https://github.com/ultralytics/yolov5/blob/master/data/ yolov8: https://github.com 阅读全文
posted @ 2024-01-18 21:54 harrychinese 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 大小目标的分类 小目标, 尺寸32*32以下, 或者长宽比超过20 大目标, 尺寸96*96以上 中目标, 介于大小目标之间的尺寸 被检查物size如果小于 15 * 15 , 效果可能很差, 如要检测小物体最好搭配 yolov8 P2模型. 另外也可以搭配 SAHI 库进行tile平铺推理, 或者 阅读全文
posted @ 2024-01-18 21:03 harrychinese 阅读(368) 评论(0) 推荐(0) 编辑
摘要: train/val/test 的关系 纯训练命令行参数 mode=train val=False model=yolov8n.pt 训练+val命令行参数 mode=train val=True model=yolov8n.pt 验证预训练模型的命令行参数 mode=val split=val mo 阅读全文
posted @ 2024-01-14 17:58 harrychinese 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 理解权重和偏置是什么 全连接层: 输出=f(输入*权重+偏置), 权重是这个线性函数的一次性系数, 偏置是常数项. 卷积层: 输出=权重卷积核和输入做卷积运算, 这里的权重是卷积核的各个元素, 卷积核也经常被叫做过滤器filter或kernel. 传统的图像处理, 图像滤波器算子需要人工指定, 比如 阅读全文
posted @ 2024-01-14 17:57 harrychinese 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 准备 data.yaml 文件 从roboflow 上下载 CS 游戏数据集, 因为只有CPU, 我对数据集做了瘦身, train: 689张, val: 23张, test:40张. https://universe.roboflow.com/roboflow-100/csgo-videogame 阅读全文
posted @ 2024-01-14 17:03 harrychinese 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 创建python 环境 参考 https://zhuanlan.zhihu.com/p/570822583 下载并安装 miniconda 安装包, 注意miniconda和 python 版本对应关系, 不要选择python最新的版本, 以免yolo或pytorch不能兼容最新版python. 这 阅读全文
posted @ 2024-01-13 13:54 harrychinese 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 数据集 开放数据集介绍: https://zhuanlan.zhihu.com/p/35399323 roboflow 资源网站, 主要是CV: https://www.rf100.org/ https://universe.roboflow.com/search?q=model:yolov8 pc 阅读全文
posted @ 2023-12-31 21:08 harrychinese 阅读(34) 评论(0) 推荐(0) 编辑
摘要: Nerdle.AutoConfig 是什么 .Net Framework 使用 app.config XML文件作为默认的配置文件, visual studio也提供很方便的配置管理功能, 甚至可以自动将配置项映射到 Settings 类, 但这仅限于简单的数据类型, 比如 string/int 等 阅读全文
posted @ 2023-12-24 19:30 harrychinese 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 软件清单 传统OpenCV图像处理一般不需要进行数据training, 目前流行的神经网络的图像处理都需要基于数据进行训练, 首先要对图像数据打标签, 有几个常用的Label标注软件: labelimg: 只能使用矩形圈出对象 labelme: 支持使用多边形来圈出对象 anylabeling: 除 阅读全文
posted @ 2023-12-18 21:19 harrychinese 阅读(97) 评论(0) 推荐(0) 编辑
摘要: CV的四大任务 图像分类(image classification), 检查图像中是否包含某种物体, 或者包含哪些物体. 目标检测(Object detection 或 Object localization), 确定目标的位置和类别, 用bounding box圈出具体的位置 语义分割 (sema 阅读全文
posted @ 2023-12-18 20:40 harrychinese 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 形态学处理 形态学处理之前需要将图像进行二值化处理, 然后我们需要设定一个卷积核, 最后将像素上每个点都完成卷积计算. 形态学很多高级处理的基础, 有很多作用: 消除毛刺、填充空隙、检测边缘,检查拐角(使用十字形卷积核) 腐蚀 Erode 腐蚀作用和膨胀相反, 用来腐蚀减小白色区域, 常用来消除一些 阅读全文
posted @ 2023-12-02 21:49 harrychinese 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 最常用的方式是: Cv2.ImRead() 可以将位图文件转成Mat数据格式 Cv2.ImWrite() 可以将Mat数据格式保存到位图文件. 不通过读写文件作为转换介质的方法: private void testMatToPicture() { var mat = Cv2.ImRead("D:\\ 阅读全文
posted @ 2023-11-29 16:55 harrychinese 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 卷积运算和卷积核 图像运算中经常会碰到卷积运算这个讲法, 初看不知道具体含义, 其实非常简单, 工作原理如下: 首先提供一个小的矩阵, 一般是3*3, 或者是 5*5 或者是 7*7, 一般是方形矩阵, 维度为奇数, 这样中心点可以作为锚点, 矩阵中的元素取值多为很小的整数(或正或负或零), 该矩阵 阅读全文
posted @ 2023-11-18 22:11 harrychinese 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 直方图可以反映图片的整体统计信息, 使用函数 CalcHist() 实现. 但CalcHist() 统计出的数量信息和图像大小相关, 如果要剔除图像大小因素, 需要做归一化处理, 归一化处理后的信息, 反映出各个颜色值得占比情况, 这样更方便不同size图像做对比, 归一化的函数为 Normaliz 阅读全文
posted @ 2023-11-07 07:36 harrychinese 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Mat构造函数中有两组函数传参特别容易传错, 分别是: public Mat(int rows, int cols, MatType type) public Mat(OpenCvSharp.Size size, MatType type) 稍不注意, 我们会认为下面两个mat尺寸相等, var m 阅读全文
posted @ 2023-11-06 21:59 harrychinese 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 窗体上选择感兴趣ROI区域 在计算机视觉处理中, 通常是针对图像中的一个特定区域进行处理, 有时候这个特定区域需要人来选择, OpenCV 也提供了窗口选择ROI机制. 窗体支持两种选择ROI区域的方法, 一个是单选, 一个是多选, 操作方法如下: 单选: 通过鼠标在屏幕上选择区域, 然后通过"空格 阅读全文
posted @ 2023-11-05 20:53 harrychinese 阅读(39) 评论(0) 推荐(0) 编辑