自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 STM32之GPIO输出与输出

GPIO「General Purpose Input Output」:通用输入和输出口可配置为8种输入和输出模式引脚电平:0V~3.3V,部分引脚可以容忍5V「在引脚分布图中,带FT的是可以容忍5V的」输出模式下可控制端口输出高电平,用以驱动LED,控制蜂鸣器,模拟通信协议输出时序等「只要是用高低电平来使用控制的地方,都可以用GPIO来完成;如果是控制功率比较大的设备,只需要加入驱动电路即可。

2024-12-22 20:08:14 1464 5

原创 丹摩征文活动|动手实验与实践案例

通过这次实验,我对丹摩智算平台的性能与使用体验有了更深刻的认识。

2024-11-26 16:12:30 1050 3

原创 丹摩征文活动|使用教学与操作指南

通过以上步骤,您应该能够轻松上手丹摩智算平台,完成从项目创建、数据上传、任务配置、执行到结果下载的全过程。平台提供了丰富的功能和工具,旨在帮助用户高效、稳定地完成各类计算任务。无论您是进行机器学习研究,还是大规模数据处理,丹摩智算平台都能为您提供强大的支持。

2024-11-26 16:10:31 563

原创 丹摩征文活动|平台评测与使用体验

丹摩智算平台作为一款面向大规模计算任务的云平台,提供了强大的计算能力、灵活的资源管理、以及高效的数据处理工具。它支持多种编程语言和机器学习框架,特别适合进行AI模型训练、数据分析和大数据处理。

2024-11-26 16:07:48 934

原创 为什么链表算法题如此亲睐虚拟节点..........

相信大家在做算法题的时候,会经常用到虚拟节点这个技巧。但是却不明白它会给我们带来多大的便利,今天我们利用几道算法题来分析一下。题目给一个链表的头节点head和一个int类型的变量val。需要在链表头部插入一个值为 val 的新节点,并返回新的头节点。相信这也是大家最感兴趣的内容,怎么使用现在清楚了,何时使用呢?所以我们需要根据这一节点所在位置,做不同的处理。值为n的节点具体在哪个位置是不确定的。

2024-10-10 19:21:31 999 8

原创 C++设计模式——装饰器模式

装饰器模式(Decorator Pattern)是一种结构型设计模式,允许你向一个现有的对象添加新的功能,同时又不改变其结构。这种模式通过创建一个装饰类,将对象放入装饰类中,然后动态地扩展对象的行为。

2024-10-10 15:05:42 756 1

原创 C++设计模式——代理模式

代理模式(Proxy Pattern)是一种结构型设计模式,在软件设计中,它为其他对象提供了一种代理或占位符,以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用,可以隐藏目标对象的实现细节,增加额外的功能(如访问控制、日志记录、性能监控等),或者对目标对象的访问进行优化。

2024-10-10 14:13:35 1046 2

原创 【C++】:工厂模式

简单工厂模式是一种创新型的设计模式,当有一个基类和若干个派生类形成多态时,用于无须知道类对象是如何被创建的。当用户要创建对象时,直接向工厂申请即可。在历史进步的长河中,一种技术的出现,一定是为了解决前面技术带来的问题「弊端」。把有关联的,属于同一个产品系列的的所有产品的创建接口,放在同一个抽象工厂里边,派生类应负责常见该工厂内所有的产品。

2024-10-10 12:55:02 834

原创 【C++】单例模式「详尽版」

C++单例模式是一种非常重要的设计模式,它只允许一个类实例化出一个对象来,并提供一个全局访问点来获取该实例。这个模式的主要目的是控制某个类的实例化过程,以避免产生多个实例对象而导致的资源消耗或数据不一致等问题。

2024-10-09 21:55:16 2502 5

原创 C++:thread | condition_variable|mutex

在C++中,mutex(互斥量)是一种同步机制,用于防止多个线程同时访问共享资源,从而避免数据竞争和条件竞争等问题。线程被分离后,该线程和创建它的线程「例如主线程」之间任何关系,创建它的线程进行退出时,也不会检查被分离线程是否运行完成,notify_one唤醒一个等待的线程,而notify_all唤醒所有等待的线程。C++语言层面对其进行了封装,但其背后使用的还是不同的操作系统提供的系统调用的接口,同时也使其拥有了较强的可移植性。主线程要等待新线程全部运行完毕,主线程才能退出,所以要进行线程分离。

2024-10-09 17:57:11 1020

原创 【C++】:lambda表达式的高级应用

有些类型的delete方法并不符合自身的析构方法,这时我们就需要自定义删除器。这样写对吗?答案是不对的,因为unique_ptr的删除方式是delete,但是这里我们需要fclose(ptr1)。});使用lambda做一个自定义删除器。

2024-10-08 22:26:21 343 2

原创 当我给面试官讲了lambda表达式...........

lambda表达式实际上是一个匿名类的成员函数,该类由编译器为lambda创建,该函数被隐式地定义为内联。因此,调用lambda表达式相当于直接调用它的operator()函数,这个函数可以被编译器内联优化(建议)。该列表总是出现在lambda函数的开始位置,编译器根据[]来判断接下来的代码是否为lambda函数,捕捉列表能够捕捉上下文中的变量供lambda函数使用。但是代码一旦很长,使用之处和仿函数实现的地方相隔甚远,而且如果仿函数的命名不规范,很容易造成使用上的困难。{statement}:函数体。

2024-10-08 15:11:05 461

原创 【C++】:bind绑定器和function函数对象机制

这里,我创建了一个返回值为int,参数有两个,从左往右为int,int类型的函数指针。这些可调用对象的调用形式相同,甚至拥有相同的功能,但是却由于类型千差万别无法统一处理。例如,我们想要统一调用以上可调用对象,使用‘+’来调用add函数,而使用‘-’调用sub匿名函数…C++常见可调用对象有:函数、指针、匿名函数(lambda表达式)、函数对象(重载了函数调用运算符的类)以及使用bind创建的对象。如上,我们系统的介绍了function的使用方法和应用,但是它究竟是如何实现的呢?的基本用法有了初步的了解。

2024-10-08 14:29:22 943

原创 类型推导的一二件事

想必大家都用过auto这个非常受欢迎的关键字吧,「通常情况下,遇到类型复杂的变量,直接无脑auto」。在C++中,auto关键字用于自动类型推断。它允许编译器根据初始化表达式自动推断变量的类型,从而使得代码更加简洁和易于维护。auto的使用场景包括但不限于循环中的迭代器、复杂类型(如std::map、std::vector等容器的元素类型)的声明,以及函数返回类型推导(在C++11之后的版本中)。但是有时候我们也有推导出该变量是什么类型的需求。推导的过程就是类型推导int main()

2024-10-06 18:14:14 832 1

原创 关于函数模板的一些不为人知的用法

特例化是针对普适化而言的,在针对不同的类型做出特例化的模板之前,必须存在没有任何特例化「适用于任何的类型」的模板不同模板的匹配规则是:先看有没有针对这一类型的完全特例化模板,再看有没有针对这一类型的部分特例化模板,如果这两种都不存在的情况下,再寻找适用于任何类型的模板。遵循从特殊到一般的匹配规则。

2024-10-06 17:29:53 371

原创 【muduo源码分析】「阻塞」「非阻塞」「同步」「异步」

对于异步读取数据时,我们关系的是将数据从操作系统内核缓冲区搬到应用层缓冲区,于是就将这一需求告诉操作系统,让操作系统完成这件事情,等到完成之后,再让其用我们注册的通知函数,通知应用程序,此时读取数据花费的时间就不属于应用程序,而属于操作系统了,在操作系统读取数据期间,应用程序线程可以做其他事情,等到数据读取完毕,应用程序只负责对数据进行处理就可以了。注意:目前muduo库仅可以在Linux环境下使用,因为:陈硕大师在写muduo库时,不考虑可意志性,不跨平台,只支持Linux,不支持windows。

2024-09-29 22:30:18 1217 98

原创 机器学习:探索未知边界,解锁智能潜力

在这个日新月异的科技时代,机器学习作为人工智能领域的核心驱动力,正以前所未有的速度改变着我们的世界。从智能家居的个性化推荐到自动驾驶汽车的精准导航,从医疗诊断的辅助分析到金融市场的风险预测,机器学习技术以其强大的数据处理能力和自我优化特性,不断拓宽着人类认知与应用的边界。未来,我们有望看到更加智能、高效、人性化的机器学习应用不断涌现,为人类社会带来更多的便利和福祉。通过对用户行为数据的深度挖掘和分析,金融机构能够更准确地评估贷款风险,及时发现潜在的欺诈行为,并为用户提供更加个性化的理财建议。

2024-09-28 21:53:47 1070 89

原创 【机器学习】:深潜智能的底层逻辑、前沿探索与未来展望】

机器学习作为人工智能领域的核心技术之一,正以其独特的魅力和无限潜力引领着科技革新的浪潮。通过深入探索其底层逻辑、前沿技术和未来发展方向,我们可以更好地理解其内在机制和潜力所在。同时,我们也需要关注其可能带来的社会伦理和法律问题,并制定相应的规范和策略来指导其健康发展。让我们携手并进,共同创造一个更加智能、美好的未来!

2024-09-19 20:59:08 2319 120

原创 【机器学习】:解锁数据背后的智慧宝藏——深度探索与未来展望

机器学习作为人工智能领域的核心驱动力之一,正以前所未有的速度推动着社会的进步和发展。通过深入探索其内在机制、关注最新进展与趋势以及思考其对未来社会的深远影响,我们可以更好地把握这一技术的脉搏并为其健康发展贡献自己的力量。让我们共同期待机器学习技术为人类社会带来的更加美好的明天!

2024-09-16 20:39:18 1509 94

原创 【机器学习】自然语言处理中的Transformer模型:深度解析与前沿发展

Transformer是一种基于注意力机制的神经网络架构,其核心在于自注意力机制(Self-Attention),这一机制允许模型在处理序列时能够同时考虑序列中所有其他元素的信息,从而建立复杂的依赖关系。Transformer模型完全摒弃了传统的RNN和CNN,以全新的方式捕捉序列数据中的依赖关系。

2024-09-05 21:46:50 3204 148

原创 【刷题笔记】删除并获取最大点数&&粉刷房子

这道题目要求必须删除相邻的数据,和打家劫舍问题中的不能偷相邻的两家的东西非常相似。所以我们就可以将本题转化为打家劫舍问题。但是本题的数据不一定是连续的,所以我们需要预处理一步。:我们是如何将这道题目和。

2024-09-05 21:36:31 615 26

原创 【刷题笔记】打家劫舍问题

这道题和上一道题的不同之处在于:本道题的题目设定是:最后一家和第一家是连着的,也就是说第一家和最后一家只可以偷一家。小偷每到一初,都可以选择对这个位置偷还是不偷,所以,这次我们需要定义两个表。:针对这种情况,一般上都需要定义两个dp表,因为每一个位置我们都可以选择。所以我们要封装一个函数,以第一家偷还是不偷为两种不同的情况进行划分。

2024-09-05 17:26:36 679 17

原创 C/C++:函数指针

要声明和初始化函数指针,首先需要知道要指向的函数的签名(返回类型和参数类型)。然后,你可以声明一个函数指针变量,并将其初始化为指向特定函数的地址。

2024-09-04 21:15:03 1665 17

原创 C/C++内存详解

注意,对于数组,不会调用构造函数来初始化每个元素(除非元素类型是类类型且该类提供了默认构造函数),而是进行默认初始化(对于类类型,调用默认构造函数;,new在底层调用operator new全局函数来申请空间,delete在底层通过operator delete全局函数来释放空间。对于自定义类型的对象,例如类对象,new对象的同时会调用构造函数对对象进行构造,delete对象的同时会调用析构函数对对象进行析构。操作符用于在堆(heap)上动态分配内存,并调用对象的构造函数(如果有的话)。

2024-09-03 18:53:06 2081 81

原创 【Linux】日志函数

在这个示例中,我们定义了一个MyPrintF函数,它接受一个缓冲区、缓冲区的大小、一个格式字符串和可变数量的参数。vsnprintf函数是C语言标准库中的一个函数,它的作用是将格式化的数据写入一个字符串缓冲区中,同时允许指定缓冲区的大小,以防止缓冲区溢出。通过为日志信息分配不同的级别,开发者可以更精细地控制日志的生成和输出,从而在不同的场景下获取最有价值的信息。可变参数列表,顾名思义,就是函数的参数个数不是固定的,可以根据需要传入任意数量的参数(但通常至少需要一个固定参数来指示后续可变参数的类型或数量)。

2024-08-26 22:08:55 1853 29

原创 【c语法】##__VA_ARGS__与__VA_ARGS__

_VA_ARGS__是C语言设定的一个预定义宏,用于处理可变参数的参数列表。通常用在宏定义中,以便宏可以接收不定数量的参数,并将他们作为整体处理。__VA_ARGS__表示所有在宏调用中传递的额外参数。当想要在自定义的调试信息加上时间、行数等信息时,应该怎么做呢?在调试过程中,我们经常会自定义打印,比如日志信息的输出,这时就会用。,下列的代码均在C99及C99以上标准的环境下运行。,为了定义可以处理不同参数个数的宏,如上的代码就是对日志定义的一个宏。:可变参数为空时,报错。

2024-08-26 22:06:06 1673 8

原创 【Linux网络】CGI技术

CGI(Common Gateway Interface)是一种用于Web服务器与外部应用程序(CGI程序)之间进行交互的标准协议。它允许Web服务器执行外部程序,并将这些程序的输出发送给Web浏览器,从而实现动态内容的生成和显示。CGI程序通常被放置在Web服务器的特定目录(如cgi-bin)中,并通过特定的URL路径进行访问。

2024-08-26 16:07:09 1737 79

原创 【动态规划】路径问题

【代码】【动态规划】路径问题。

2024-08-25 17:08:59 361 11

原创 【Algorithm】三步问题

【代码】【Algorithm】三步问题。

2024-08-25 16:29:44 412

原创 【动态规划】第 N 个泰波那契数

在本题中:dp【i】=dp【i-1】+dp【i-2】+dp【i-3】。这个就是状态转移方程,而得到状态转移方程的途径就是题目描述。得到状态表示的途径无非有以下几种:①题目要求。本题属于比较简单的题目,根据题目要求即可。题目中说:存在第0个数,那么第N个数就和dp数组中N下标的元素相对应。填写n位置时,必须保证n-1,n-2,n-3位置的数据已经获得。要求就是:为了保证填写当前位置的时候,所需的位置已经填写过了。所以本题的状态表示为:dp[i]表示第i个泰波那锲数。所以,这一步也是装备转移方程最难的一步。

2024-08-24 23:06:52 468 12

原创 【机器学习】联邦学习技术

联邦学习是一种分布式机器学习范式,其核心思想是利用分散在各参与方的数据集,通过隐私保护技术融合多方数据信息,协同构建全局模型。在模型训练过程中,各参与方仅交换模型参数、梯度等中间结果,而本地训练数据则不会离开本地,从而大大降低了数据泄露的风险。自治和联合。自治:各参与方在本地使用自己的数据进行模型训练,得到各自的模型参数。联合:各参与方将本地训练的模型参数上传至中心服务器(或采用去中心化方式),中心服务器进行模型参数的聚合与更新,并将更新后的参数分发回各参与方,进行下一轮迭代。

2024-08-22 22:48:39 3220 100

原创 【Linux网络】select函数

在Linux网络编程中,select 函数是一种非常有用的IO多路复用技术,它允许程序监视多个文件描述符(file descriptors),以等待一个或多个文件描述符变得“就绪”(ready),比如有数据可读、写操作可能不阻塞或者出现了异常条件。这对于提高网络服务器等需要同时处理多个网络连接的应用程序的效率至关重要。select()函数允许程序监视多个文件描述符,等待所监视的一个或者多个文件描述符变为“准备好”的状态。

2024-08-20 22:08:59 1692 87

原创 【Linux网络】NAT技术

当内部网络中的设备需要访问外部网络时,NAT设备会从公共IP地址池中分配一个公共IP地址给该设备,并建立映射关系。当内部网络中的设备需要访问外部网络时,NAT设备会将该设备的私有IP地址和端口号转换为一个公共IP地址和端口号,并将转换后的数据包发送至外部网络。外部网络返回的数据包经过NAT设备时,会被还原为原始的内部网络设备的私有IP地址和端口号,然后转发给内部网络设备。企业路由器通过NAT技术,将内部网络的私有IP地址转换为公共IP地址,以便员工能够远程访问企业内部资源。

2024-08-18 22:33:26 3902 112

原创 【机器学习】深度学习实践

深度学习作为人工智能领域的一颗璀璨明珠,正引领着技术革新的浪潮。通过本文的介绍,我们希望能够激发您对深度学习的兴趣,并鼓励您亲自动手实践,探索这一领域的无限可能。

2024-08-15 17:34:53 2252 84

原创 【Linux网络】TCP协议

TCP协议相对于UDP协议的优势在于其有良好的可靠性保证,但这也就意味着其编码过程会更加复杂。TCP通信的双方地位是平等的。TCP协议采取了多种方式来保证其传输过程的可靠性:确认应答机制、超时重传机制、滑动窗口机制。使用TCP通信之前需要建立连接,建立连接的过程位三次握手。数据发送完成后需要断开连接,断开连接需要四次挥手。

2024-08-14 20:44:29 4516 83

原创 程序员保碗之策

在人工智能(AI)技术日新月异的今天,编程领域正处于一场前所未有的变革之中。这场变革不仅改变了我们开发软件的方式,也重新定义了程序员所需具备的技能集和竞争力。为了在这个充满挑战与机遇的时代中保持并增强自己的核心竞争力,程序员需要采取一系列全面而深入的策略。

2024-08-08 22:33:54 19263 126

原创 【机器学习】神经网络的无限可能:从基础到前沿

神经网络的概念最早可追溯至20世纪40年代,由心理学家沃伦·麦卡洛克(Warren McCulloch)和数学家沃尔特·皮茨(Walter Pitts)提出。他们试图通过构建一个简单的数学模型来模拟生物神经元的工作方式。现代意义上的神经网络,尤其是人工神经网络(ANN),则是一种通过模拟人脑神经系统的结构和功能来处理信息的计算模型。神经网络作为人工智能领域的核心技术之一,正以其强大的学习能力和广泛的应用前景改变着我们的世界。

2024-08-05 23:17:10 2062 119

原创 【AI大模型】分布式训练:深入探索与实践优化

在人工智能的浩瀚宇宙中,AI大模型以其惊人的性能和广泛的应用前景,正引领着技术创新的浪潮。通过不断优化通信机制、同步策略、负载均衡等关键技术点,以及引入弹性训练、自动化训练、隐私保护等前沿技术,我们可以更好地应对大规模深度学习模型的训练挑战,推动人工智能技术的进一步发展。分布式训练的核心在于将大规模的数据集和计算任务分散到多个计算节点上,每个节点负责处理一部分数据和模型参数,通过高效的通信机制实现节点间的数据交换和参数同步。在分布式训练过程中,各节点的计算能力和数据分布可能不均衡,导致训练速度不一致。

2024-07-31 18:08:22 2285 130

原创 【计算机网络】TCP协议详解

守护进程也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是个特殊的孤儿进程,这种进程脱离终端,为什么要脱离终端呢?之所以脱离于终端是为了避免进程被任何终端所产生的信息所打断,其在执行过程中的信息也不在任何终端上显示。

2024-07-27 22:41:03 10161 121

原创 展望未来:利用【Python】结合【机器学习】强化数据处理能力

数据处理和机器学习技术的结合为数据驱动的业务增长和创新提供了强大的支持。Python作为数据处理和机器学习的首选语言,通过其丰富的库和框架为数据科学家和机器学习工程师提供了强大的工具。通过深入理解和掌握数据处理和机器学习的技术和方法,我们可以显著提升模型的性能和效果,为业务带来更多的价值。

2024-07-20 20:27:42 5986 147

空空如也

空空如也

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

TA关注的人

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