自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 取地址操作符触发的对编程语言数据传输/读写哲思

C语言取地址操作符触发的对编程语言的思考额,个人感觉C语言是门很"硬"的语言,因为它相对其他高级语言更接近硬件底层,而相对于机器指令汇编又跳出了繁琐的底层处理器指令编程。无法理解"&"或者说"地址"、"取地址",是因为你站在高级(自然语言)语言的层面,而不是机器本身。任何变量都是数据,数据就会在硬件机器上有他的存储空间,存储空间有对应的位置,来方便我们操作这个存储空间,比如存储设备,内存,内存空间,内存地址。1. 简单的数据传输过程:操作符"="2. 复杂的数据处理、传输过程,封装成:函数::f

2015-04-14 10:58:45 25155 4

原创 基于SAM2的Label Studio自动标注环境搭建

Label Studio是一款开源的多模态数据标注工具,支持文本、图像、音频等多种数据类型标注。主要特点包括可配置界面、机器学习集成和协作功能,适用于计算机视觉、自然语言处理等场景。部署支持Docker和pip安装方式。文章详细介绍了Label Studio的部署流程、ML后端集成方法以及针对新硬件的适配方案,实现了SAM2模型自动分割标注。

2026-07-17 22:10:14 297

原创 YOLO26转RKNN在RK3588部署

​在嵌入式设备(尤其是搭载 Rockchip 处理器的设备)上部署计算机视觉模型时,拥有兼容的模型格式至关重要。将 Ultralytics YOLO26 模型导出为 RKNN 格式,可确保在 Rockchip 硬件上实现最佳性能和兼容性。本指南将引导你完成将 YOLO26 模型转换为 RKNN 格式的过程,包括浮点和 INT8 量化导出,从而在 Rockchip 平台上实现高效部署。

2026-07-11 22:20:56 313

原创 用自定义数据集微调PP-OCRv6文本检测、识别模型

本文详细介绍了PP-OCRv6模型的完整训练流程。主要内容包括:1. 使用PPOCRLabel工具进行数据标注与数据集划分;2. 基于Docker搭建GPU训练环境,配置PaddlePaddle和相关依赖;3. 分别训练PP-OCRv6的检测和识别模型,包括配置文件修改、训练执行和模型评估;4. 模型导出为推理格式并转换为ONNX格式;5. 提供了常见问题的解决方案。PP-OCRv6作为最新OCR解决方案,采用PPLCNetV4骨干网络,支持50种语言,在精度和速度上均有显著提升。文档还包含官方资源链接资源

2026-06-19 18:31:15 436

原创 用自定义数据集微调PP-OCRv5文本检测、识别模型

本文详细介绍了PP-OCRv5模型从数据标注到模型转换的全流程。主要内容包括:1)使用PPOCRLabel工具在Windows环境进行数据标注;2)基于Docker搭建GPU训练环境;3)PP-OCRv5检测和识别模型的训练配置与实现;4)模型评估与导出;5)将pdparams格式转换为onnx格式时的问题解决方案。文档提供了完整的操作步骤和注意事项,包括环境配置、数据划分、训练参数调整等关键环节,并针对常见错误给出了解决方法,为开发者实现自定义OCR模型提供了实用指导。

2026-06-12 17:29:42 485

原创 Numpy以及Pytorch中多维数组的维度数与维度值以及轴axis理解

用几何坐标系视角来理解维度数 vs 维度值/形状基本概念;对于不同轴的运算很容易混淆,其实可以清晰的拆分2步来处理:第1步:确定相应轴/维度上的元素(元素可以是多维的);第2步:保持其他轴/维度上的元素数量不变:逐元素执行运算得到最终结果,去掉相应轴(默认keepdims = False 情况)

2026-04-26 15:30:07 500

原创 人工智能对计算机领域冲击思考

硅基生命的进化,硅基世界边界的拓展,必然从语言开始,从理解机器语言到逐渐开始理解人类自然语言,开始接替程序员翻译官职能。语言障碍扫除,碳基生命可以更自如的与硅基生命交互降本增效,而另一个视角硅基生命可以链接更多碳基智慧,为硅基生命物种大爆发奠定基础。“高危”是AI在降低计算机领域的经验、技能门槛壁垒。人工智能的终极目的是解放人类的脑力。但脑力活动千千万,为何AI最先“冲击”的是程序员?为何编程最先成了所谓“高危职业”?的本质:它是碳基生命与硅基生命之间的沟通语言。,是碳基生命与硅基生命之间的翻译官。

2026-03-27 22:31:13 74

原创 Pycharm(2020)光标跳转快捷键

Pycharm(2020)光标跳转快捷键ToolbarView->Appearance->Toolbar-> back/forward箭头快捷键Back: Ctrl+Alt+向左箭头Forward:Ctrl+Alt+向右箭头

2020-10-12 22:54:45 1806

原创 numpy.vstack numpy.hstack

numpy.vstackStack arrays in sequence vertically (row wise)垂直(按行)顺序堆叠数组。Take a sequence of arrays and stack them vertically to make a single array. Rebuild arrays divided by vsplit.Examples例子>>> a = np.array([1, 2, 3])>>> b = n.

2020-05-21 16:55:27 432

原创 贝叶斯定理直观理解

贝叶斯公式: P(A|B) = P(A)*P(B|A)/P(B)P(A|B) = P(A∩B)/P(B)按照乘法法则,可以立刻导出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)你可以站在A的角度去看B,也可以站在B的角度去看A。 他们看到的事实应该是一致的。单纯机械记忆符号,容易让人不知所云;记忆集合图,会有种豁然开朗的感觉。...

2020-05-11 21:11:15 623

原创 偏差和方差

偏差和方差偏差(Bias):描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据方差(Variance):描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。...

2020-05-11 15:23:25 333

原创 ModuleNotFoundError: No module named 'sklearn.cross_validation'

ModuleNotFoundError: No module named 'sklearn.cross_validation'在机器学习中,我们通常将原始数据按照比例分割为“训练集”和“测试集”,通常使用sklearn.cross_validation里的train_test_split模块用来分割数据但在sklearn 0.18及以上的版本中,出现了sklearn.cross_validat...

2020-04-29 11:23:16 834

原创 KNN-K近邻算法

KNN: k-NearestNeighbor(K个最近邻)KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。一句话描述:人以群分,物以类聚sklearn相关代码from sklearn.neighbors import KNeighborsRegressorfrom sklearn.metr...

2020-04-16 14:57:08 288

原创 修改Jupyter Notebook文件默认保存路径

1. 生成默认配置文件运行cmd, 执行 jupyter notebook --generate-configC:\Users\John Zhang>jupyter notebook --generate-configWriting default config to: C:\Users\John Zhang\.jupyter\jupyter_notebook_config.py...

2020-02-24 18:20:01 2135

原创 深度学习资源整理

避免重复造轮子,整理最近收集到的人工智能相关资源如下(后期会逐渐添加,分类汇总):神经网络入门-阮一峰知乎:如何简单形象又有趣地讲解神经网络是什么?超智能体:分享最通俗易懂的深度学习教程深度学习之神经网络的结构 Part 1 ver 2.0深度学习之梯度下降法 Part 2 ver 0.9 beta 深度学习之反向传播算法 上/下 Part 3 ver 0.9 beta人工智能实战极客学院-人工智...

2018-03-23 16:27:23 365

原创 ARMv8(ARM64, AArch64)进阶之旅

ARMv8(ARM64, AArch64)进阶之旅

2016-01-01 10:23:27 5314

原创 uboot命令

uboot常用命令

2015-09-06 17:59:11 1097

原创 UEFI简单的应用程序模块MyHelloWorld:C源文件/INF工程文件源码/简析[6]

6. UEFI简单的应用程序模块MyHelloWorld:C源文件//INF工程文件源码/简析 ->6.1 MyHelloWorld.c源程序/简析 ->6.2 MyHelloWorld.inf源程序/简析

2015-07-18 22:41:02 4748

原创 How to Write a simple UEFI EDKII Application:如何编写一个UEFI简单的应用程序[5]

本篇博文《How to Write a simple UEFI EDK II Application:如何编写一个UEFI简单的应用程序[5]》是基于之前的UEFI博文在之前的EDKII开发环境搭建、配置/编译EDKII工程、运行EDKII模拟器的基础上,也即在熟悉EDKII的编译流程后,学习在EDKII环境下编程。参看TianoCore官网(http://www.tianocore.org官网上Getting Started for Developers->Further Help-> Getting

2015-07-18 16:35:20 6437

原创 Build/Launch EDKII emulator in Windows and Linux:编译/运行Windows和Linux环境下EDKII模拟器[4]

本篇博文《Build/Launch EDKII emulator in Windows and Linux(编译/运行Windows和Linux环境下EDKII模拟器)[4]》是基于在前几篇博文搭建Windows/Linux下EDKII开发环境、配置/编译EDKII源码项目的基础之上。本篇博文参考《EDKII_UserManual_0_7》和戴正华《UEFI原理与编程》,简介了EDKII模拟平台,介绍Windows环境下Nt32模拟器、Linux环境下Emulator模拟器的编译和运行过程。博文框架安排如下

2015-07-18 16:05:20 4925 7

原创 EDKII Build Process:EDKII项目源码的配置、编译流程[3]

3. EDKII Build Process(EDKII项目源码的配置、编译流程) ->3.1 The General Process Of EDKII Build(EDKII项目源码的配置、编译一般流程) ->3.1.1 Tool chain:BaseTools ->3.1.2 Setup build shell environment ->3.1.3 Modify Conf Files ->3.1

2015-07-17 11:48:20 5377

原创 Tools:downloading and Building EDK II工具篇:安装/使用EDKII源码获取/编译工具[2.3]

Windows平台下我们一般使用subversion来管控项目源码版本,通过SVN(subversion)下载上传源码,所以我们想获取源码,首先需要下载、安装SVN软件。http://www.tianocore.org->Getting Started for Developers -> Getting Started with EDK II->Tools ->follow these instructions ->Install some external tools->Requirements: Th

2015-07-17 10:55:05 4293

原创 Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

发现无论照《EDKII_UserManual_0_7》手册(或者说http://www.tianocore.org官网上Getting Started for Developers—>Getting Started with EDK II->Step-by-step Instructions),还是戴正华《UEFI原理与编程》都不能较为顺利的搭建Linux和Windows开发环境。原因有两个:(1)一些工具源的下载路径随着时间的推移发生了变化(通过文档/书籍上的路径检索不到资源)(2)对工程源码管理工具、

2015-07-17 10:34:15 6144

原创 The General Procedure Of Setting Up EDKII Development Environment:搭建EDKII开发环境的通用流程[2.1]

EDKII(EFI Developer Kit II)是遵循UEFI标准和PI(Platform Initialization)标准的扩平台固件开发环境。UEFI的标准是完全取代BIOS,因而它要完全支持所有类型的CPU,并让所有的硬件厂商接收这种变化。来自不同的厂商的开发者使用不同的开发环境开发自己的产品。为了让这些不同的开发者愉快地接收EDKII来开发自己平台上的UEFI固件或者应用,EDKII对每种平台都提供了相应的开发工具。EDKII支持在多种操作系统下的开发,例如Windows、Linux、UNI

2015-07-17 10:04:19 2244

原创 UEFI&EDKII Introduction:UEFI&EDKII概述[1]

本篇博文主要介绍UEFI规范、EDKII项目涉及的相关概念:EFI, UEFI, Tianocore, EDK, EDKII, Package, Library Class/Library Instance, PCD, Module, UEFI Application and UEFI Driver。概念性术语较多,大多参考《EDKII_UserManual_0_7》(http://www.tianocore.org -> EDK II Documents -> EDK II User Document

2015-07-17 09:56:31 4899

原创 UEFI规范实现EDKII项目学习笔记绪论[0]

学习UEFI和EDKII项目,发现中文资料很少,主要是UEFI论坛(http://www.uefi.org)、Tianocore社区(http://www.tianocore.org)上的各类规范、手册进行学习、开发。本人的UEFI、EDK学习也是通过UEFI论坛、Tianocore社区,还有一本中文书籍戴正华的《UEFI原理与编程》,当然也有百度各种文库、博客资源,从中国知网下载一些期刊、文献来科普、学习。发现UEFI规范、EDKII项目的刚开始学习重点不在于解决一些具体概念(比如key concepts

2015-07-16 23:57:31 5807 1

原创 Ubuntu环境下如何安装指定版本的Gcc,比如Gcc4.4

如何下载指定版本的Gcc,比如Gcc4.42015-07-16  北京  张俊浩  ubuntu 32bit系统下安装gcc 4.4的最好方法是仅用以下两条命令,不需要其它命令,否则编译时可能会出错。sudo apt-get install gcc-4.4sudo apt-get install g++-4.4装完后在/usr/bin目录下$ ls -l gcc

2015-07-16 14:29:56 13279 1

原创 DOS命令集锦——让人见文知意

DOS命令集锦——让人见文知意

2015-07-12 11:22:55 1142

原创 实现字符串数组中字符串交换

《实现字符串数组字符串交换》分为三部分:【1】论坛帖子【2】代码思路:(1)两个字符串等长正常交换即可;(2)两个字符串不等长交换短字符串宽度的字符数据(包括结束符),拷贝长字符剩余字符到短字符串数据区(此时长字符串剩余数据还在内存只是被结束符’\0’分割)。【3】代码、运行结果

2015-06-01 09:56:56 14382 2

原创 ARM进阶笔记一

ARM进阶笔记一嵌入式课程体系(秦老师)应用层:好学不好用(函数调用,API使用,通过哪个函数 实现)底层  :好用不好学(硬件、芯片、汇编C语言、操作系统) 时间紧,任务重,重点不是具体知识点(书上会更详细),更注重路线图、框架,如何去学习 整个课程体系(层次):工具:1.C语言、Linux基础(开发工具:编程语言,编程开发环境、工具)2.数据结构 

2015-05-31 15:54:08 823

原创 如何从ST官网上下载资源STM32标准库Standard Peripheral LibrariesV3.5.0

《如何从ST官网上下载资源STM32标准库Standard Peripheral LibrariesV3.5.0》分为两种检索方式:【1】按需要的库资源检索【2】按芯片型号检索资源查了网上的一些资料,发现介绍从ST官网下载STM32标准库V3.5.0的检索方式很少,自己在下载STM32标准库V3.5.0也费了很多事~

2015-05-31 11:00:44 8193

原创 “死锁”四个必要条件的合理解释

发现到目前为止,所有的内容都可以在课本书籍、百度、论坛、博客上找到,似乎是教条的罗列。我们发现看过多次,但每每需要的时候(开发、笔试、面试)却总要回头再看~难以摆脱遗忘、记忆的循环~我觉得产生这种现象的原因是因为:停留在机械记忆。因为我们的教科书、论坛、博客的内容十有八九在罗列这些概念~但很少有进一步解释、阐释其存在的必然(四个必然条件为什么不多一个,又为什么不少一个?)及其内在逻辑。或许下面的阐释能让你再遇到这个问题时,可以不翻教科书,不上网百度就能侃侃而谈~

2015-05-24 10:48:19 7994

原创 Ubuntu Vmware虚拟机网络配置(二)

VMware提供了三种工作模式,是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。Ubuntu网络服务有三种启动方式~

2015-05-17 12:53:38 1585

原创 三级指针四级存储空间的开辟~

额,感觉这类程序非常有意思,能强化内存意识~这里是三级指针,意味着内存四级存储空间,级与级之间不一定是连续的,级内是连续的(从虚拟地址来说)~所以你无法用pArrp[i][j][k]访问方式~

2015-05-15 21:09:21 1477

原创 Ubuntu Vmware虚拟机网络配置(一)

之前多次遇到Ubuntu虚拟机无法连网问题,基本每次都是从网上百度配置流程,只记得修改好几个网络配置文件,再重启网络服务就好了,但每每下次遇到网络问题,需要再次找资料辅助。原因一是对这几配置文件的作用压根不清楚,二是对Linux网络驱动或者说TCP/IP协议栈不了解~而上网的是始终是电脑,无论是在Windows还是Linux下,都遵循网络的基本架构,无论是硬件设备还是软件配置,换句话说都需要网卡、网卡驱动、IP/子网掩码/DNS地址的配置~VMware虚拟机是通过软件对电脑系统的模拟,同样也遵循相应的架构~

2015-05-10 16:36:34 3740

原创 虚拟地址到物理地址的地址变换过程

与其说虚拟地址,倒不如说内核给程序(代码段、数据段)提供了统一的访问模式(抽象出统一的访问模式)基址加偏移量(这也是内存的分层次的断页管理模式)。所以所有程序的编码你可以从假设的“0”基址开始开始编程,具体基址操作系统设定并由MMU完成地址转化~

2015-05-09 19:21:19 9369

原创 代码移植性与高效性的折衷——linux舍高效率而取移植性

任何高级语言编写的软件代码最终都会转化为硬件门电路的空间组合逻辑和时间的时序逻辑,同样所有的硬件门电路的空间组合逻辑和时间时序逻辑都可以用高级语言来描述 、设计~软件的开发过程中或者说代码的编写过程中,每个选择意味着妥协。程序员总是要在一大堆方案中做出取舍,尽量满足那那些往往自相矛盾的目标。其中程序员面对的一个艰难的选择就是:高效率和可移植性。Makefile为什么可以具有可移植性、通用性?

2015-03-26 10:02:15 1475

原创 Makefile之变量赋值

因为,makefile关系到了整个工程的编译规则。一个工程中的源文件比较多,其按类型、功能、模块分别放在若干个目录中,当我们修改,添加,删除某些源文件时,要修改相应的Makefile,如果该源文件在Makefile中多处被依赖使用,那么我们要修改Makefile多处地方,这样会带来诸多不便,为了使makefile的更容易维护,在makefile中我们可以使用变量。makefile的变量也就是一个字符串,理解成C语言中的宏可能会更好。

2015-02-05 16:30:38 1261

原创 linuxRC的含义

比如我们用busybox制作linux根文件文件系统时,根文件系统目录下有linuxrc作为内核运行起来的第一个init程序,再比如做某个脚本开机时自动运行,需要和/etc/rc.d/rc.local这个文件打交道,那么rc到底是什么意思呢?

2015-01-27 11:13:53 3221

原创 ARM汇编之合法立即数的快速判断方法

在讨论什么是立即数,为什么有立即数,如何快速判断立即数之前,我们先来弄明白一个问题:什么不是立即数。汇编指令是对数据(指令、数据)对象的操作,很关键的一个问题我们如何寻找我们的操作对象?汇编指令是一门关于寻址的艺术。而opcode2只有12位,也就是说opcode2所表示的立即数有一定限制0-4095,为了进一步扩大12bit数据所能表示数的范围,ARM规定了数据的格式。

2014-11-30 11:07:33 17079 15

Vim用户手册中文版72

Vim用户手册中文版72 看完这篇用户手册你就成为VI编辑器大牛了!

2014-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除