- 博客(48)
- 收藏
- 关注
原创 神经网络——梯度下溢
在低精度(如float16)训练中出现的梯度下溢问题是指在进行梯度计算和更新时,由于数值精度较低,梯度值可能变得非常小,以至于接近或低于浮点数表示的最小非零值。这种情况下,梯度值可能会被下溢至零,导致梯度消失。梯度下溢问题主要涉及如下几个点。
2025-02-23 20:43:26
362
原创 Python的生成器表达式
Python的生成器表达式是一种高效且内存友好的方式来处理数据集合。它允许你逐个生成值,而不是一次性生成并存储整个列表。这在处理大量数据时特别有用,因为它可以节省内存。基本语法:生成器表达式的语法与列表推导式非常相似,但使用圆括号()而不是方括号[]。
2025-02-23 17:18:46
320
原创 windows事件倒计时器与提醒组件
根据该github的生日日期和倒计时公布功能进行了相应的修改:使用场景---循环性质的事件(女友的生日倒计时,节日倒计时),单一事件(会议地点时间、备忘录等)
2025-02-19 19:09:39
372
1
原创 CUDA并行架构
CUDA)是一种由NVIDIA推出的通用并行计算架构,该架构使GPU)能够对复杂的计算问题做性能速度优化。二、串并行模式高性能计算的关键是利用多核处理器进行并行计算。串行模式:将任务分成很多小任务,逐个依次进行。串并行模式:利用多核处理器同时处理多个子任务(前提是这些子任务不需要相互依赖,比如线程1的计算任务不需要用到线程2的计算结果)。为了加快大任务的计算速度,可以把一些独立的模块分配到不同的处理器上进行同时计算(这就是并行),最后再将这些结果进行整合,完成一次任务计算。
2024-09-20 21:21:51
2016
原创 zip-password-finder
对于传统ZIP文件密码的破解,采用密码匹配的方式进行实现,该github库的地址是:GitHub - agourlay/zip-password-finder: Find the password of protected ZIP files.Find the password of protected ZIP files. Contribute to agourlay/zip-password-finder development by creating an account on GitHub.http
2024-09-17 16:11:45
926
原创 显微镜基础知识--脑机起步
电子显微镜是根据电子光学原理,用电子束和电子透镜代替光束和光学透镜,使物质的细微结构在非常高的放大倍数下成像。由于电子束的波长远远小于可见光的波长,所以即使电子束的锥角仅为光学显微镜的1%,电子显微镜的分辨本领仍远远优于光学显微镜。物镜的凸透镜焦距小于目镜的凸透镜的焦距。物镜相当于投影仪的镜头,物体通过物镜成倒立、放大的实像。目镜相当于普通的放大镜,该实像又通过目镜成正立、放大的虚像。经显微镜到人眼的物体都成倒立放大的虚像。指在光镜下能被分辨的微细结构:如细胞核,核仁,细胞质等,常用长度单位微米来度量。
2024-09-04 21:21:24
488
1
原创 C++之QT文本处理QDir、QFileDialog、QStringList、QFile
C++之QT文本处理QDir、QFileDialog、QStringList、QFile
2024-05-08 19:26:11
712
1
原创 C++之泛型编程---有限双端队列结构容器
通过设计有限大小的双端队列容器(LDQC)可以很好地解决上述问题,根据进出队列的模式不同,可以分为先进先出(FIFO)和先进后出(FILO)两种数据传输过程,因此该容器主要包括6大功能函数:数据入队头(enqueuefront)、数据入队尾(enqueuelast)、取队头数据(dequeuefront)、取队尾数据(dequeuelast)、判断容器是否为空(isempty)、容器清空(clear)。其数据流向示意图如图1。为了解决工业领域代码容器的通用化,可以考虑C++里的泛型编程概念。
2024-05-08 18:54:31
468
1
原创 Anaconda的环境快速迁移(目前windows,未来更新linux)
日常办公经常需要在新机器上部署运行环境并进行代码调试,尤其是在AI迅速发展的今天,python已经成为了强有力的AI领域编程语言之一。为了方便对不同windows下python代码工程进行快速部署。本文主要从工具环境的安装、原环境的快速打包、新环境的安装三个方面进行讲解。
2024-04-30 15:04:29
2536
4
原创 项目-wechat的聊天机器人--功能更新
调用ChatGPT、文心一言等接口,进行数据恢复,通过-v可以设置不同的会话模型(未来会考虑语音识别、图片识别以及图像生成等功能);自动的消息推送功能,通过对网站接口解析进行数据消息汇总,定时发送;记忆功能:可以对特定群聊进行map映射记录相应的聊天信息进行定时消息长语义摘要生成;可支持手机端与windows端,更加安全可靠;一些功能参数设定标识符。
2024-03-28 10:29:45
334
2
原创 CPU、GPU等硬件检测工具(组装机硬件负责)
PS:尽量不要经常开着鲁大师,因为监控硬件实时性能比较吃资源,当然电脑性能好一点的可能感觉不到。使用其中的硬件参数以及硬件性能以及跑分进行判定。
2024-03-28 10:01:24
411
1
原创 Android studio存储之SharedPreferences
在 Android Studio 中,是用来存储基本数据类型如Stringintboolean等的键值对的。由于不直接支持存储复杂的数据结构,如HashMap,你需要将HashMap转换为一个可以存储的格式,然后再保存到中。一种常见的方法是将HashMap转换为JSON格式的字符串,然后保存这个字符串。当你需要读取HashMap时,你可以将这个字符串转换回HashMap。以下是一个简单的示例:首先,添加 Gson 依赖到你的。
2024-03-14 09:25:17
820
原创 java的版本分类--更新中
全拼Java Platform, Enterprise Edition ,简写Java EE,Java EE平台构建于Java SE平台之上,Java EE平台提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序。淘宝、京东等购物网站,大数据的处理技术都给予JavaEE。Java ME平台提供一组API和一个精简的JVM来在小型的设备或者手机上运行Java语言, 他的API是Java SE API的子集, Java ME应用程序通常是Java EE 平台服务的客户端。
2024-02-04 21:56:05
495
原创 C++之程序生成
这些标准制定了C语言和C++的基本规范,各个编译器需要支持这些标准以确保代码的正确执行和相互兼容。在实际编程过程中,需要根据所使用编译器的支持情况选择合适的标准。二、C++程序从cpp源代码到程序执行的过程。
2023-12-17 19:52:16
554
原创 C++之unordered_multimap与unordered_map的区别
在C++的unordered_map中,实际插入时是插入的键值对,而不是单独的值。unordered_map是一种关联容器,它存储键值对(key-value pairs)的映射关系。当你插入一个键值对时,unordered_map会根据键的哈希值将该键值对存储在相应的桶(bucket)中。因此,当你插入一个键值对时,实际上是同时插入了键和值两个元素。因此最终寻找遍历时是进行键值对同时比较的。
2023-12-17 14:16:39
754
3
原创 C++之获取变量信息名称、类型typeid
对于C++工程量级比较庞大的代码,代码中的变量、类、函数、结构体的识别都是一件让人头疼的事情,一方面代码越写越多,内容越来越丰富,但是没有办法对已有的代码框架进行高度的整合提炼;另一方面对新人逐渐不友好,增加了学习成本。那么如何获取一些类别信息并进行统筹管理呢?
2023-12-10 18:41:24
2076
原创 C++之printf与sprintf用法
是一个 C 语言库函数,用于将格式化的数据写入字符串中。其与printf的根本区别主要是printf是将信息显示到界面cmd中,而。是 C 语言库函数,因此在使用时需要小心处理数据类型和格式化字符串的匹配问题,以避免出现类型不匹配和格式化错误等问题。可以导致缓冲区溢出,因此在使用时需要确保目标缓冲区足够大,能够容纳写入的字符串。是将printf要输出的信息写入到字符串里。其与printf公用格式参数表。
2023-12-10 18:13:22
1236
原创 C++之链表list
函数名描述在链表末尾添加元素在链表头部添加元素pop_back()删除链表末尾的元素删除链表头部的元素erase()删除链表中的指定元素insert()在链表中指定位置插入元素splice()将两个链表连接起来sort()对链表进行排序reverse()反转链表的顺序find()在链表中查找元素front()获取链表的第一个元素back()获取链表的最后一个元素empty()检查链表是否为空size()获取链表的长度。
2023-12-06 23:50:45
794
原创 C++代码自动化
如果我想提取C++中的所有类以及成员函数,那么我该怎么做呢?一种常用的方法是使用静态代码分析工具,如Clang LibTooling、GCC-XML 或 Ctags。这些工具可以帮助你分析 C++ 代码,并提取出类和成员函数的信息。public:在上面的示例中,我们使用Clang LibTooling和ASTMatchers来匹配C++源代码中的类和成员函数。我们创建了一个类,它继承自,并实现了run()函数来处理匹配结果。在main()函数中,我们创建了一个。
2023-12-06 23:48:08
2365
1
原创 C++之枚举与宏定义
在C++中,宏定义可以用来在编译时进行文本替换和处理。宏定义:宏定义是C++预处理器的一个功能,它可以在编译时进行文本替换。宏定义的基本语法可以分宏定义变量和宏定义函数。//宏定义变量#define 宏名称 替换文本//宏定义函数注意:对于定义的函数可能会存在混合类型运算的情况,比如a是int类型而b是float类型会引发错误。当你使用这个宏时,比如ADD(5, 3),预处理器会将其替换为(5 + 3),即8。但是,如果你给这个宏传递不同类型的参数,比如,这会引起一个编译错误。
2023-12-05 21:26:46
591
原创 游戏mod制作--引擎与解包
游戏mod的制作过程第一步就是需要将原始的游戏工程文件进行解包,得到相应的资源文件(贴图,音频,事件,模型甚至源代码等),这个时候下一步就是需要将解包出来的文件进行分类索引,知道对应的游戏中的触发机制以及原理对应的文件是哪些,然后依次进行修改。在真正进行修改前,首先最重要的就是所谓的逆向脱壳获取游戏的资源文件,本文主要讲解对任何一个想要制作mod游戏的开发思路。
2023-12-04 11:34:00
5302
原创 C++之STL算法基础--遍历与算法
STL是C++标准库中的一个模板库,全称为Standard Template Library,它提供了一系列的通用数据结构和算法。stl包括六大组件,其中3个主要组件:算法(algorithm)、容器(container)、迭代器(iterator)和3个辅助组件:配置器(allocators)、适配器(adapters)、函数对象(function object)。stl中几乎所有的代码都采用了(T)模板类和(T)模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机制。
2023-12-02 20:56:17
1024
1
原创 C++之hash映射与集合
函数名描述insert()插入一个或多个键值对erase()删除一个或多个键值对find()查找指定键的值,如果找不到则返回尾迭代器count()返回指定键值的数量empty()检查容器是否为空size()返回容器中键值对的数量clear()删除容器中的所有键值对swap()与另一个容器交换内容begin()返回指向第一个键值对的迭代器end()返回指向尾部的迭代器cbegin()返回指向第一个键值对的常量迭代器cend()返回指向尾部的常量迭代器返回用于哈希的函数对象key_eq()
2023-12-01 23:11:14
967
1
原创 C++之常用的三类数据结构--栈、队列、数组
函数名功能描述push()向栈顶添加一个元素pop()删除栈顶元素top()返回栈顶元素的值empty()判断栈是否为空,如果为空则返回true,否则返回falsesize()返回栈中元素的个数clear()清空栈中的所有元素。函数名功能描述push()在队列尾部添加一个元素pop()删除队列的头部元素front()返回队列的头部元素back()返回队列的尾部元素empty()判断队列是否为空(元素个数为0)size()返回队列中元素的个数clear()清空栈中的所有元素。函数名功能描述。
2023-11-30 21:40:19
2318
1
原创 编程需要考虑的问题
总的来说,编写代码是一个大工程,需要从功能实现、代码速度优化、数据安全、代码复用等角度不断的优化升级。如果你只想写一个函数实现一个小功能,那也需要考虑怎么让机器实现。
2023-11-30 10:25:17
1151
1
原创 C++之位运算整理
Brian Kernighan 算法:对于任意整数 x,令 x=x & (x−1),该运算将 x 的二进制表示的最后一个 1变成 0。因此,对 x 重复该操作,直到 x 变成 0,则操作次数即为 x 的「一比特数」。每一次的x-1都会使32进制表示的bit位中最后一个1翻转为0;1.判断一个int类型存在多少个bit=1的位数,可以采用常规的暴力方式,也可以采用Brian Kernighan算法;2.最高有效位,当上面的Brian Kernighan 算法存在如下的特殊形式时表明该比特为最高有效位;
2023-11-28 20:27:09
335
原创 C++之泛型编程
是一个类型参数,它表示一个占位符,可以代表任何类型。当使用模板函数或类时,可以将具体的类型替换为。注意:template <typename T> 的含义是C++中的一个模板声明,其中。分别定义泛型编程里的函数模板、类模板以及常用的STL库迭代器。是一个关键字,用于指示编译器将后面的类型名称视为类型参数。,以实现代码的通用性和复用性。
2023-11-28 20:26:59
536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人