自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度学习系统软件

高性能计算库通常是针对特定的硬件架构和计算任务进行了优化和调优的软件库。这些库的目的是充分发挥硬件的性能潜力,提高计算效率和吞吐量。这些库可能针对特定的智能芯片架构,如GPU、TPU或者其他专用加速器。它们通常由硬件供应商或第三方开发团队开发,并通过专家手动调优以提高性能和效率。这些高性能计算库通常包括优化的数学运算、矩阵操作、神经网络层次、图像处理等功能,以满足特定应用领域的需求。

2024-04-04 21:01:30 1324

原创 Pytorch-Tensor(张量)

可以像NumPy数组一样进行加减乘除等数学运算,也可以使用PyTorch提供的函数进行操作。:当对两个形状不同的Tensor进行运算时,PyTorch会自动进行广播,使得它们的形状相容。:PyTorch的Tensor可以自动追踪计算图,并且支持自动求导。方法将Tensor转换为NumPy数组,也可以使用。函数从Python列表或NumPy数组创建。函数将NumPy数组转换为Tensor。方法改变Tensor的形状,也可以使用。等函数创建特定大小和形状的。(存储设备)等属性。方法进行类似的操作。

2024-03-10 20:40:21 425 1

原创 Python-线性DP

我们可以定义一个一维数组 dp,其中 dp[i] 表示以 nums[i] 结尾的最长递增子序列的长度。

2024-02-25 12:49:52 1452 1

原创 Python-动态规划-递推问题

动态规划(Dynamic Programming)是一种解决问题的数学方法,通常用于优化问题,它可以将一个问题分解成更小的子问题,通过存储和重复利用子问题的解来降低计算量,从而有效地解决问题。动态规划的递推问题指的是那些可以通过定义递归关系来求解的问题。通过找到问题的递推关系,并利用这些关系将问题分解成更小的子问题,然后使用递归或迭代的方式求解子问题,最终得到原问题的解。这就是动态规划递推问题的基本思想:通过找到问题的递推关系,并利用已解决的子问题的解来求解更大规模的问题。

2024-02-25 12:39:08 339 1

原创 Python-匈牙利算法

在一个二分图中,该算法能够找到最大的匹配,即在给定的两组顶点中找到最大数量的边,使得每个顶点都最多与一个相邻顶点相连。图中的数字代表边的权重。接着,我们看A - 4,这条边也没有匹配,我们可以将A与4匹配。现在我们有五个匹配:A - 3,A - 4,B - 1,C - 3,D - 2。现在我们有四个匹配:A - 3,A - 4,B - 1,C - 3。A - 3,这条边没有匹配,我们可以将A与3匹配。现在我们有三个匹配:A - 3,A - 4,B - 1。C - 3,这条边没有匹配,我们可以将C与3匹配。

2024-02-25 12:33:56 523 1

原创 Python-最小生成树-Kruskal和Prim

Kruskal算法和Prim算法都是用于解决最小生成树问题的经典算法,它们的原理和实现略有不同,各有优劣势。

2024-02-21 10:53:41 661 2

原创 Python-Bellman-Ford算法

Bellman-Ford算法是一种用于解决单源最短路径问题的算法,它可以处理带有负权边和负权回路的图。需要注意的是,Bellman-Ford算法不能处理存在负权回路的情况,因为在负权回路中,没有最短路径的概念。如果在第n-1轮松弛操作后,仍然可以通过松弛操作减小某些顶点的最短路径估计值,则说明存在负权回路。否则,最终得到的距离数组就是起始点到其他顶点的最短路径。2.对所有边进行n-1轮松弛操作,其中n是图中顶点的数量。1.初始化距离数组,将起始点到其他顶点的距离设为无穷大,起始点的距离设为0。

2024-02-20 21:45:00 166 1

原创 Python-Dijkstra算法

Dijkstra算法的时间复杂度为O(n^2),其中n是图中顶点的数量。如果使用优先队列来优化选择最小距离的顶点,可以将时间复杂度降低到O((n+m)logn),其中m是图中边的数量。Dijkstra算法是一种用于求解单源最短路径问题的算法,它可以找到一个图中一个点到其他所有点的最短路径。该算法的时间复杂度为O(n^2),其中n是图中顶点的数量。初始时,将起始点的距离设为0,其他顶点的距离设为无穷大。c. 遍历v的所有邻居顶点u,更新其距离dist[u],如果通过v可以获得更短的距离。

2024-02-20 21:30:00 606

原创 Python-图的广度优先遍历

它从指定的起始顶点开始,逐层地访问其邻居顶点,然后再访问邻居的邻居,以此类推,直到遍历完所有可达的顶点。广度优先遍历的关键在于使用队列来保存待访问的顶点,保证按照层次逐个访问顶点。这样可以确保先访问离起始顶点近的顶点,再访问离起始顶点远的顶点。5.如果还有未访问的顶点,选择其中一个作为新的起始顶点,重复步骤2-4,直到所有顶点都被访问过。3.从队列中取出一个顶点,访问它,并将其未访问的邻居顶点加入队列。2.将起始顶点标记为已访问,并将其加入队列。1.选择一个起始顶点作为遍历的起点。

2024-02-20 17:14:04 162

原创 Python-图的深度优先遍历

图的深度优先遍历(Depth First Search,DFS)是一种用于遍历或搜索图的算法。其核心思想是从图的某个顶点开始,沿着一条路径尽可能深地搜索,直到无法继续为止,然后回溯到上一个顶点,继续搜索其他路径。3.从当前顶点出发,选择一个未访问的相邻顶点作为下一个当前顶点,重复步骤2。4.如果当前顶点没有未访问的相邻顶点,则回溯到上一个顶点,重复步骤3。1.选择一个起始顶点作为当前顶点,并将其标记为已访问。5.重复步骤3和步骤4,直到所有顶点都被访问。2.访问当前顶点,并将其加入遍历结果。

2024-02-20 17:04:19 321

原创 Python-四个排序算法(冒泡排序、快速排序、插入排序、选择排序)

冒泡排序是一种简单的排序算法,其核心思想是通过相邻元素的比较和交换来将最大(或最小)的元素逐步移动到数组的末尾。冒泡排序的要点如下:1.重复遍历数组,比较相邻的两个元素,如果顺序不正确,则交换它们的位置。2.每一轮遍历都会将当前未排序部分的最大(或最小)元素移动到末尾。3.重复上述步骤,直到整个数组排序完成。

2024-02-20 16:51:26 293

原创 Python-制作一个表白成功的界面

", foreground="black", font=("Helvetica", 12, "bold"))disagree_button = ttk.Button(frame, text="不愿意", command=on_disagree, style="DangerButton.TButton")创建了一个用于显示文本的标签小部件,文本内容是"亲爱的,我爱你,愿意做我女朋友吗?创建了两个按钮,一个是“愿意”按钮,一个是“不愿意”按钮,分别绑定了on_agree()和on_disagree()函数。

2024-02-20 16:40:07 1653 1

空空如也

空空如也

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

TA关注的人

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