- 博客(700)
- 资源 (7)
- 收藏
- 关注
原创 python如何用OPencv进行斑点检测(Blobs)
这段代码的主要作用是使用OpenCV库中的来检测图像中的斑点(blobs)。blob.jpg通过这些步骤,程序能够识别和可视化图像中的斑点,通常用于图像处理和计算机视觉中的特征检测任务。例如,可以用于检测图像中的细胞、气泡、圆形物体等。fill:#333;color:#333;color:#333;fill:none;OpenCV 2.xOpenCV 3.x及以上开始导入OpenCV和NumPy库读取图像并转换为灰度图像设置SimpleBlobDetector参数选择OpenCV版本。
2024-05-23 08:33:55 107
原创 收费10万美元的10行代码解读
这一行更新了state数组的第二个元素。uint32_t stormdrop(uint32_t *state): 这是函数的声明,它定义了一个名为stormdrop的函数,该函数接受一个指向uint32_t类型数组的指针作为参数,并返回一个uint32_t类型的值。
2024-05-09 20:20:29 682
原创 Python 如何用opencv进行人脸年龄检测
然后,它加载了性别和年龄识别的深度学习模型,并根据提供的命令行参数设置了使用CPU或GPU进行推理。在主循环中,它读取视频流的每一帧,检测人脸,然后对每个检测到的人脸进行性别和年龄的预测,并将结果绘制在帧上。这个流程图从左到右展示了代码的执行流程,从开始导入模块,到处理视频流的每一帧,进行人脸检测和预测,最后显示或保存结果,直至视频流结束。如果帧中检测到人脸,则使用性别和年龄预测模型对每个检测到的人脸进行预测,并将结果绘制在帧上。,使用该网络检测帧中的人脸,并将检测到的人脸位置以矩形框的形式绘制在帧上。
2024-04-19 18:30:55 54 3
原创 microPython的源码解析之 vstr.c
以上代码是一个 C 语言实现的可变字符串(vstr)库,它提供了一系列的函数来操作和修改字符串。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.这段代码主要实现了一个可变字符串(vstr)的数据结构,它提供了一系列的操作函数来创建、修改、扩展和释放字符串。流程图中的每个节点代表一个步骤或者决策点,箭头表示流程的方向。
2024-04-17 11:25:34 973 1
原创 microPython的源码解析之 vm.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-17 11:18:11 684
原创 microPython的源码解析之 unicode.c
代码是一个C语言编写的字符处理库,主要用于处理UTF-8编码的字符串和ASCII字符集。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.- 根据指针位置计算字符在UTF-8字符串中的索引。- 从UTF-8编码的字符串中提取一个字符。- 获取UTF-8字符串中下一个字符的指针。- 计算UTF-8字符串中的字符数量。
2024-04-17 10:47:12 989
原创 microPython的源码解析之 stream.c
下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.如果读取或写入操作成功,它会检查是否所有的数据都已处理完毕,如果没有,它会继续处理剩余的数据。如果操作成功并且所有数据都已处理,它将返回已处理的字节数。代码中的注释详细说明了每个函数的功能和用法。函数的执行逻辑,它首先检查流是否支持所需的读写操作,然后调用相应的函数来处理数据。
2024-04-17 10:01:02 575
原创 microPython的源码解析之 smallint.c
在这个简化的流程图中,我们首先判断两个操作数的符号,然后根据是否可能发生溢出来决定是否直接返回 true。如果不会发生溢出,我们继续计算乘积或模,并根据结果的符号是否需要调整来决定是否进行符号调整。运算符计算模的结果,然后根据 Python 规范要求,调整结果的符号以与除数的符号相同。这个函数根据操作数的正负性对分子进行调整,然后执行除法运算,得到向下取整的结果。运算符计算模的结果,然后根据 Python 规范要求调整结果的符号,使其与第二个操作数的符号相同。类型的整数的模运算结果。:此函数用于判断两个。
2024-04-17 09:50:55 927
原创 microPython的源码解析之 showbc.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-17 09:44:59 922
原创 microPython的源码解析之 sequence.c
代码是一个C语言编写的序列处理库的一部分,它包含了对序列进行乘法操作、切片、比较和搜索等操作的函数。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.它接收操作类型、两个序列的指针、两个序列的长度作为参数。它接收操作类型、两个序列的指针、两个序列的长度作为参数。它接收序列的指针、序列长度和要计数的对象作为参数。计算每次复制的字节大小。
2024-04-17 09:32:29 704
原创 microPython的源码解析之 scope.c
它定义了几个函数来创建、释放、查找和修改作用域中的变量信息。代码中的注释已经翻译成中文,并且我添加了一些额外的注释来帮助理解代码的功能和结构。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.每个函数都是一个处理作用域和ID信息的步骤,确保了变量在作用域中的生命周期和可见性得到正确管理。调用scope_find_or_add_id。
2024-04-16 09:25:47 793
原创 microPython的源码解析之 scheduler.c
MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。代码中的注释已经翻译成中文,并且我添加了一些额外的注释来帮助理解代码的功能和结构。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.这个流程图展示了调度器的基本执行逻辑,包括检查调度器状态、执行任务、处理事件和异常等。
2024-04-16 09:17:50 616
原创 microPython的源码解析之 runtime.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-16 09:09:42 451
原创 microPython的源码解析之 ringbuf.c
这段代码实现了一个环形缓冲区的基本操作,包括读取和写入16位值以及字节序列。当达到缓冲区的末尾时,它会循环回到开始的位置,这就是“环形”这个名字的由来。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.其他函数的流程图也可以使用类似的方式创建,根据函数的具体逻辑进行调整。: 偷看环形缓冲区中的下一个16位值,但不移动读取索引。
2024-04-16 08:25:18 532
原创 microPython的源码解析之 repl.c
它包括了检查输入是否需要继续、查找和打印补全建议、以及实现自动补全的逻辑。代码中的注释详细解释了每个函数和代码块的作用,有助于理解整个自动补全功能的工作原理。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.根据输入代码的不同状态,程序会执行不同的检查和操作,最终提供相应的自动补全建议。- 查找自动补全的建议项。查找匹配的自动补全项。
2024-04-16 08:21:51 815
原创 microPython的源码解析之 reader.c
这段代码是一个用C语言编写的MicroPython读取器的实现,它包括了内存读取器和POSIX文件读取器的创建与使用。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.这个流程图展示了从开始到结束的整个读取器对象的生命周期,包括内存读取器和文件读取器的初始化、读取操作、状态更新、内存释放以及对象释放等步骤。- 创建一个新的内存读取器。
2024-04-15 11:56:27 1060
原创 microPython的源码解析之 qstr.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-15 11:51:35 897
原创 microPython的源码解析之 pystack.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。
2024-04-15 11:38:09 862
原创 microPython的源码解析之 profile.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-15 11:33:05 1012
原创 microPython的源码解析之 persistentcode.c
下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.这些函数处理了字节码和本地代码的加载和保存,以及相关的元数据和常量表。代码中的注释提供了对每个函数和操作的详细解释,有助于理解代码的功能和实现方式。这个流程图展示了从读取或保存文件头开始,到处理qstr、对象和原始代码,再到处理子代码(如果有)的整个过程。: 将编译模块保存到文件。
2024-04-15 10:52:14 693
原创 microPython的源码解析之 parsenumbase.c
下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.函数首先检查字符串的长度和内容,以识别是否有特定的前缀(如’0x’表示十六进制,'0o’表示八进制,'0b’表示二进制)。如果没有识别出前缀,或者前缀不符合预期的格式,函数将默认数字的基数为十进制(即。如果没有明确的进制前缀,或者前缀不符合预期,函数将默认数字的基数为十进制。
2024-04-15 10:27:48 753
原创 microPython的源码解析之 parsenum.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。
2024-04-15 10:23:13 1260
原创 microPython的源码解析之 parse.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-15 10:11:06 765
原创 microPython的源码解析之 pairheap.c
每个堆都是一个最小堆,合并两个堆时,只需要将两个堆的子堆进行配对即可。在这段代码中,使用了一些位操作的技巧来优化内存的使用和操作的速度。例如,通过设置next指针的最低位来判断一个节点是否是其父节点的最右边的子节点,这样可以在不增加额外空间的情况下维护父子关系。这个函数遍历子节点链表,并将相邻的子节点成对合并,直到只剩下一个堆。这个函数首先确定要删除的节点的位置,然后根据该节点是否有子节点或其在堆中的位置来执行不同的删除逻辑。函数的逻辑绘制的,其他两个函数的逻辑也可以用类似的方式表示为流程图。
2024-04-13 08:43:08 585
原创 microPython的源码解析之 objzip.c
下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.结构体来表示zip对象,并实现了创建新对象和迭代对象的方法。),则释放已创建的元组,并停止迭代。否则,将所有迭代器的下一个元素收集到一个新创建的元组中,并返回这个元组。函数的功能,即可以将多个可迭代对象打包成一个元组的列表。对象的类型信息,并定义了创建新对象和迭代对象的方法。
2024-04-13 08:36:11 650
原创 microPython的源码解析之 objtype.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-13 08:31:52 965
原创 microPython的源码解析之 objtuple.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。
2024-04-13 07:33:29 685
原创 microPython的源码解析之 objstrunicode.c
MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。代码中的注释已经翻译成中文,并补充了一些解释性的注释,以便更好地理解代码的功能和实现方式。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.- 打印带引号的字符串,用于输出JSON格式的字符串。- 迭代器的下一个元素。
2024-04-12 09:21:12 576
原创 microPython的源码解析之 objstringio.c
从检查对象是否打开,到读取、写入数据,执行I/O控制操作,以及创建和初始化新对象的过程都被详细地描述了出来。检查对象是否打开,然后根据当前的读取位置和提供的缓冲区大小,从内部缓冲区中复制数据到提供的缓冲区,并更新读取位置。检查对象是否打开,然后根据当前的写入位置和提供的缓冲区大小,将数据从提供的缓冲区复制到内部缓冲区,并更新写入位置。: 在写入操作前,如果StringIO对象使用的是固定缓冲区,则复制内部缓冲区的内容到新分配的内存中,以便可以修改内容。: 打印StringIO对象的调试信息。
2024-04-12 09:13:51 611
原创 microPython的源码解析之 objstr.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.
2024-04-12 09:02:28 967
原创 openai联合创始人用1000行纯C语言手搓的GPT-2训练代码
不久之前,特斯拉前 AI 总监、OpenAI 联合创始人 Andrej Karpathy 在社交媒体平台 X 上高调宣布,他友好地从 OpenAI 离职,未来将专注于“个人项目”,而后又口口声声说要尝试性地戒掉上网两周,去了 Bhutan(不丹王国)休假。然后就手搓如下代码,我们一起来欣赏.这段代码是一个GPT-2模型的训练实现,包括前向传播、后向传播、参数更新等过程。代码中包含了注释,解释了每个函数和代码块的作用。此外,还有一些辅助函数和结构体,用于数据加载、随机数生成和模型的初始化与释放。这个训练循环还
2024-04-11 16:25:11 680
原创 未来十年国产替代是程序猿的黄金赛道
为了开发效率而形成很多的组件,最终牺牲了程序的整体的性能,这个性能损失不止千百倍.有必要用底层语言,成熟模型重新实现和训练.大幅度提高性能降低对硬件以及能源的消耗.即便在人工智能时代,Python的低效率,已经不适应大模型的性能要求.在此背景下,C语言,C++语言等系统级别的语言在国内必将受到欢迎。未来十年国产替代是程序猿的黄金赛道。
2024-04-11 10:01:46 618
原创 microPython的源码解析之 objslice.c
它定义了切片对象的打印、属性访问、一元操作符处理等方法,并提供了创建切片对象和计算切片索引值的函数。代码中使用了MicroPython的宏和结构体来定义对象类型和行为,这是为了在资源受限的环境中实现Python的切片功能。下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.- 计算切片对象在特定长度序列上的索引值的函数。
2024-04-11 09:01:36 1121
原创 microPython的源码解析之 objset.c
这段代码是一个集合(set)的实现,包括了集合的基本操作,如添加元素、删除元素、判断是否为空、求交集、并集、差集等。函数的主要执行逻辑。首先,函数会检查传入的参数数量,如果参数数量为0,则创建一个空的集合对象;最后,函数返回创建好的集合对象。函数提供了一种便捷的方式来创建一个新的集合对象,接受一个元素数组和数组的长度作为参数,并将这些元素添加到新创建的集合中。此外,代码还定义了一个不可变集合(frozenset),它提供了与集合相似的方法,但是不允许修改集合的内容。函数的逻辑,而不是代码中所有函数的逻辑。
2024-04-11 08:51:54 711
原创 microPython的源码解析之 objreversed.c
MicroPython 是一种适用于微控制器和其他受限环境的 Python 编程语言的实现。它旨在提供与 Python 3 语言的紧密兼容,同时考虑到内存和计算资源的限制。MicroPython 库是这门语言的核心组成部分,提供了一系列的模块和函数,使得开发者能够在硬件上执行各种任务。
2024-04-11 08:45:38 799
原创 microPython的源码解析之 objmap.c
下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.代码是一个用C语言编写的MicroPython对象类型实现,具体来说,它定义了一个map对象,该对象可以将一个函数应用于多个迭代器产生的元素序列。- 这是map对象的迭代器下一个元素的获取函数,用于获取迭代器序列中的下一个元素。- 这是map对象的构造函数,用于创建一个新的map对象。
2024-04-11 08:41:34 560
原创 microPython的源码解析之 objrange.c
下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.代码中使用了MicroPython的一些宏和函数来简化对象类型的定义和操作的实现。请注意,这个流程图是一个简化的版本,主要用于展示范围对象的创建和一些基本操作。这段代码是一个C语言实现的微型Python解释器的一部分,它定义了Python中的。- 创建新的范围迭代器对象。
2024-04-10 09:02:10 840
原创 microPython的源码解析之 objproperty.c
下面将通过系列文章,逐一解读microPython,以便让读者了解掌握microPython的整个核心逻辑.,以便读者可以透过这个Python的最小内核,掌握Python解析器的核心实现逻辑,学习世界上最优秀的源码设计之一.代码是MicroPython中属性对象的实现,其中包含了属性对象的定义、创建、以及获取器、设置器和删除器的设置和获取等功能。这个流程图展示了从开始创建属性对象,到设置其获取器、设置器和删除器,最后获取访问器数组的整个流程。调用mp_obj_property_get获取访问器数组。
2024-04-10 08:53:45 679
累计努力时间(功夫)
2021-04-20
Sqlite For C#
2014-09-14
matplotlib
2014-09-14
ipython-2.2.0
2014-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人