问题记录——RuntimeError: Error(s) in loading state_dict for ResNet: Missing key(s) in state_dict:... 关于model.load_state_dict(checkpoint['state_dict'])的使用问题
神经网络学习笔记10——RNN、ELMo、Transformer、GPT、BERT 自然语言处理(Natural Language Processing,简称NLP)是用计算机来处理、理解以及运用人类语言(如字符、中文、英文等),它属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。人类语言是抽象的信息符号,其中蕴含着丰富的语义信息,人类可以很轻松地理解其中的含义。而计算机只能处理数值化的信息,无法直接理解人类语言,所以需要将人类语言进行数值化转换。不仅如此,人类间的沟通交流是有上下文信息的,这对于计算机也是巨大的挑战。
AI嵌入式2——SIPEED MaixCube(Kendryte K210)之基础使用篇 MaixCube嵌入式集成了摄像头、TF卡槽、用户按键、TFT显示屏、锂电池、扬声器麦克、扩展接口等, 用户可使用 Maix Cube 部署一些轻轻轻轻轻量级AI项目, 同时还预留开发调试接口, 也能将其作为一款功能强大的 AI 学习开发板。
视觉学习笔记13——既是模型,又是模型中转站的onnx Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。它是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。ONNX的规范及代码主要由微软,亚马逊,Facebook和IBM等公司共同开发,以开放源代码的方式托管在Github上。
视觉学习笔记12——百度飞浆框架的PaddleOCR 安装、标注、训练、测试以及onnx转换 飞桨首次开源文字识别模型套件PaddleOCR,目标是打造丰富、领先、实用的文本识别模型/工具库。 PaddleOCR是一个基于飞桨开发的OCR(Optical Character Recognition,光学字符识别)系统。其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。
AI嵌入式1——君正T40之基础使用篇 近年来,随着深度学习的突破,人工智能得到了快速发展。人工智能作为一种通用计算技术,正在与各行各业融合,正在世界上掀起又一场工业革命。嵌入式系统是指“嵌入”在应用中的计算机系统。嵌入式系统和传统PC的不同之处在于它通常针对特定应用配备专用软硬件接口,在运算速度、存储容量、可靠性、功耗、体积方面的要求和通用PC有明显差别。我们在日常生活中随处可见嵌入式系统,比如智能手机、万用表、无人机控制系统、电信交换机、洗衣机、智能电视、汽车控制系统、医用CT设备等。
杂谈2——AIGC的反面思考 与AI生成图像检测技术 检测人工智能生成的图像的最大挑战之一是它们可能非常逼真,难以与真实图像区分开来。这是因为人工智能模型变得越来越复杂,并且能够生成与真实的图像在视觉上相似的图像。
视觉学习笔记11——TensorRT安装配置及使用 一般的深度学习项目,训练时为了加快速度,会使用多 GPU 分布式训练。但在部署推理时,为了降低成本,往往使用单个 GPU 机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也要有与训练时相同的深度学习环境,如 caffe,TensorFlow 等。由于训练的网络模型可能会很大(比如,inception,resnet 等),参数很多,而且部署端的机器性能存在差异,就会导致推理速度慢,延迟高。这对于那些高实时性的应用场合是致命的,比如自动驾驶要求实时目标检测,目标追踪等。
杂谈3——深度学习中使用GPU的建议 深度学习是一个对计算有着大量需求的领域,从一定程度上来说,GPU的选择将从根本上决定深度学习的体验。但问题来了,如何选购合适的GPU也是件头疼烧脑的事。怎么避免踩雷,如何做出性价比高的选择?
问题记录——TypeError: buffer is too small for requested array 查了很多地方,对此有很多原因可以造成这种报错,比如:1、cfg文件与模型文件不匹配2、文件名或者路径名不合规导致3、模型训练时,数据缺失4、onnx的操作符不完整。
视觉学习笔记10——opencv的卸载、安装与多版本管理 之前在ubuntu18系统上已经安装了opencv4.4.0和扩展库opencv_contrib,但是最近需要跑一个SLAM的源代码,而这个SLAM系统是基于opencv3.4.2开发的,直接运行会出现很多opencv版本不兼容的问题。因此想再安装opencv3.4.2和扩展库opencv_contrib3.4.2,过程中出现了很多问题,写这篇文章记录一下。
神经网络学习笔记9——循环神经网络中的LSTM与GRU模型理解及代码解析 循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。相比一般的神经网络来说,他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好地解决这类问题。LSTM是RNN的一种,可以解决RNN长序列训练过程中的梯度消失和梯度爆炸问题,当一条序列足够长,那RNN将很难将信息从较早的时间步传送到后面的时间步,而LSTM能学习长期依赖的信息,记住较早时间步的信息,因此可以做到联系上下文。
神经网络学习笔记8——FPN理论及代码理解 特征金字塔(Feature Pyramid Networks, FPN)的基本思想是通过构造一系列不同尺度的图像或特征图进行模型训练和测试,目的是提升检测算法对于不同尺寸检测目标的鲁棒性。但如果直接根据原始的定义进行FPN计算,会带来大额的计算开销。为了降低计算量,FPN采用一种多尺度特征融合的方法,能够在不大幅度增加计算量的前提下,显著提升特征表达的尺度鲁棒性。
视觉学习笔记9——边缘分离式计算EdgeSLAM结合ORBSLAM3 众所周知,视觉 SLAM 在内存和处理时间方面是资源密集型的。此外,一些操作随着时间的推移变得越来越复杂,这使得在移动设备上连续运行变得具有挑战性。边缘计算为移动设备提供额外的计算和内存资源,以允许卸载某些任务,而不会出现卸载到云时出现的大延迟。Edge-SLAM是一种使用边缘计算资源来卸载部分 Visual-SLAM 的系统。使用 ORB-SLAM3 作为原型 Visual-SLAM 系统,并将其修改为边缘和移动设备之间的分离架构。
神经网络学习笔记7——目标检测,语义分割和实例分割中的RCNN、Fast RCNN、Faster RCNN、FCN和Mask RCNN 计算机视觉中关于图像识别有四大类任务:(1)分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。(2)定位-Location:解决“在哪里?”的问题,即定位出这个目标的的位置。(3)检测-Detection:解决“在哪里?是什么?”的问题,即定位出这个目标的位置并且知道目标物是什么。(4)分割-Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”