- 博客(32)
- 收藏
- 关注
原创 解决No module named ‘triton‘的问题
在Windows系统中,这是因为triton只支持Linux系统。需要安装triton for windows
2024-09-03 17:13:01 387
原创 如何在D盘创建虚拟环境?包括安装PyTorch和配置PyCharm
本文首先在D盘创建了虚拟环境,然后在虚拟环境中安装了PyTorch,最后配置了pycharm的解释器。
2024-08-31 15:00:48 1014
原创 51 单片机[9]:LED点阵屏
LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。
2024-07-26 11:17:48 511
原创 51 单片机[7]:计时器
51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。定时器作用:(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作(2)替代长时间的Delay,提高CPU的运行效率和处理速度……定时器个数:3个(T0、T1、T2),T0和T1与传统的51单片机兼容,T2是此型号单片机增加的资源注意:定时器的资源和单片机的型号是关联在一起的,不同的型号可能会有不同的定时器个数和操作方式,但一般来说,T0和T1的操作方式是所有51单片机所共有的。
2024-07-08 09:12:30 1245
原创 51 单片机[5]:模块化编程及LCD1602调试工具
模块化编程:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。把上个例子的Delay.c和Delay.h复制粘贴到项目目录,并添加进左侧边栏。现在,在main.c文件中,可以通过鼠标右键打开Delay.h文件。选择.h文件,同样命名为Delay,点击Add。
2024-06-04 16:26:07 712
原创 51 单片机[6]:矩阵键盘及密码锁
按下S1,显示0001,按下S3,显示0013。但是当数字很大超出数据范围时,密码就出现错误了,显示的数字就不按按下的按键显示了。,然后快速循环这个过程,最终实现所有按键同时检测的效果。当引脚输出为低时,它的驱动能力很强,可吸收相当大的电流……,然后快速循环这个过程,最终实现所有数码管同时显示的效果。按下S1,LCD显示01,按下S2,LCD显示02。:S1 ~ S9为数字1 ~ 9,S10为0,S11为确认,S12为取消。注意,要在下划线中间打一个竖杠,这样在点击模板后,光标会出现在该位置。
2024-06-04 10:36:24 805
原创 51 单片机[4]:数码管显示
由数码管的引脚定义可知,89C52开发板上的数码管是4位一体的,4个数码管共阴极,通过位选确定哪个位显示数字,通过段选确定显示什么数字。P07是高位,P00是低位。这种做法节约了I/O口,但是限制了数码管的显示,因为在4个数码管中,无论几位显示,都会显示相同的数字。事实真是这样吗?事实上,我们可以利用数码管的余辉和人眼的视觉暂留来同时显示不同的数字。
2024-05-19 18:04:14 1426
原创 51 单片机[3]:独立按键控制LED
如图所示,独立按键在开发板的左下角,K1~K4。独立按键是一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。独立按键在开发板原理图中的样子如下图所示。
2024-05-17 10:45:01 1931
原创 C 语言笔记:字符串处理函数
获取字符串长度函数、字符串拷贝函数、字符串追加函数、字符串比较函数、字符查找函数、字符串匹配函数、字符串转换数值、字符串切割函数、格式化字符串操作函数、const
2024-05-02 15:49:25 996 2
原创 C 语言笔记:指针(上)
内存相关知识、指针的相关概念、指针的定义方法、指针的分类、指针和变量的关系、指针和数组元素之间的关系、指针的运算、指针数组、指针的指针、字符串和指针
2024-03-29 09:42:40 721 1
原创 如何解决 Qt 6.6.0 里 printf() 输出中文乱码?
在使用Qt 6.6.0时,printf()中出现中文时,输出可能会出现乱码,本文解决了这一问题。
2024-03-12 10:42:22 582 1
原创 C 语言笔记:函数(上)
库函数:C 库实现的自定义函数:程序员自己实现的函数系统函数:操作系统实现的函数函数的定义方法返回值类型 函数名字(形参列表) {// 函数体,函数的功能在函数体实现 }函数名字是标识符,所以需要满足标识符的命名规则形参可以有,也可以没有,也可以有多个,但是即使是没有,函数名字后面也必须加括号函数体上下位置必须有大括号如果要返回函数的结果,则return后边的变量或者值必须与函数名左边的返回值类型一致形参必须带类型,而且以逗号分隔函数的定义不能嵌套所有函数的定义是平行的。
2024-02-29 19:53:24 788
原创 理解『注意力机制』的本质
本文介绍了注意力机制的本质。从一个简单的引例开始,首先介绍了一维情况的注意力机制。进一步地,推广到多维情况的注意力机制。最后,介绍了自注意力机制。本文举的例子简单易懂,公式推导清晰明了。
2024-02-04 16:17:21 992 1
原创 手撸代码:从零开始的 AlexNet 图像分类(PyTorch框架)
本文在 PyTorch 框架下搭建了 AlexNet ,并在 CIFAR10 上完成了图片分类。同时,更正了一些原论文中的小错误(如:输入图像尺寸)。由于 CIFAR10 没有验证集,本文将训练集的 10% 当作验证集。
2024-02-03 14:24:05 1169 1
原创 详细教程:AutoDL 如何配置深度学习环境?
本文在AutoDL提供的JupyterLab中配置了深度学习环境。手把手教学!首先创建了base环境,然后创建了自己的环境(命名为x9py38),并在x9py38环境中安装了一些深度学习包,具体包括PyTorch、jupyter d2l和ipykernel。
2024-01-31 15:26:17 6258 11
原创 手撸代码:从零开始的 LeNet5(PyTorch框架)
本文介绍了如何从0开始构建 LeNet5 去识别手写数字(在MNIST数据集上)。代码包括三大部分:网络结构部分、训练部分、测试部分。在编LeNet5部分代码之前,本文详细地梳理了LeNet5的结构,对于初学者十分友好。训练和测试部分也都有详细的代码说明。在实现 LeNet5 手写数字识别的同时,补充了很多CNN的基础概念和Python编程知识。包括:PyTorch中的常用库和其中的模块、特征图在卷积过程中尺寸如何变化、如何把数据加载进训练程序等。本文不是通过复制粘贴代码介绍如何实现 LeNet5 的手写数
2024-01-31 14:53:53 1517
原创 什么是DataLoader?如何使用它?
把一个数据集比作一副扑克牌,一张扑克牌就是一个数据把神经网络比作手,手去抓牌。一次抓几张,抓牌有没有顺序,用一只手还是两只手,等等,这都是通过设置DataLoader的参数决定的。
2023-03-28 09:41:05 279
原创 torchvision中的数据集使用,以CIFAR10为例
torchvision中的数据集使用,以CIFAR10为例。先讲单个图片,再讲多个图片,其中涉及到与transforms的联动。
2023-03-26 11:18:39 332
原创 常用的transforms,如ToTensor,Nomalize,Resize,Compose的用法
ToTensor怎么用?Nomalize怎么用?Resize怎么用?Compose怎么用?
2023-03-25 14:27:01 291
转载 74LS273内部逻辑结构
图片来自https://www.svebry.se/en/product/74ls273社区非让我打个标签,我不知道打哪个写个Python得了
2022-10-30 08:57:49 268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人