- 博客(253)
- 资源 (3)
- 收藏
- 关注
原创 最优化理论之四(无约束优化-高斯牛顿法、LM)
我们介绍了,牛顿法、阻尼牛顿法的原理及其算法;阻尼牛顿法解决了牛顿法在迭代过程中,可能出现目标函数值上升的情况;而阻尼牛顿法,引入了阻尼因子αk(或者叫迭代步长),通过一维搜索最优步长,保证目标函数值始终是下降的,从而提示迭代的稳定性;xk1xk−∇2fxk−1∇fxkxk1xk−αk∇2fxk−1∇fxk然而,由上公式牛顿法与阻尼牛顿法迭代公式可知,我们需要求二阶偏导,Hessian矩阵;
2025-01-05 01:38:49
1146
原创 最优化理论之三(无约束优化-牛顿法、阻尼牛顿法)
最速下降法虽然可以快速收敛到极值点附近,但是最速下降只利用了迭代点的一阶导数性质,但是未考虑梯度的变化趋势;且最速下降在极值点附近时会出现慢爬现象,导致收敛效率较低;因此在最速下降法的基础上,提出的牛顿法,利用的偏导数。
2025-01-03 01:37:08
965
原创 最优化理论之二(无约束优化-最速下降)
最速下降法是许多算法的基础,许多优化算法的第一步一般都是采用负梯度作为初始搜索方向,即一般前面1、2步次采用最速下降法;直接法则无需要利用导数信息,而是只需要使用目标函数值,即可构建搜索方向,如:共轭方向法、鲍威尔法等。最速下降法的示意图可看出,初始状态下迭代速度比较快,越到后面,迭代的步伐越小,出现慢爬现象!我们希望每次迭代,目标函数值都有具有最大下降,而每次迭代,我们都已经确定了从该。(即:负梯度),由上公式(1)可知,我们只需要确定。最速下降法,采用目标函数的负梯度作为搜索方向,即。
2025-01-01 01:29:59
693
原创 最优化理论之一(概述篇)
最优化问题说白了就是求函数的极小值的问题,给定义一个函数yfx,求这个函数在最小值这道数学题怎么解,就是最优化理论解决的问题;yx2y1021x28x这些函数x取什么值时,y有最小值;最优化技术最早在上世纪40年代初,用于军事上解决轰炸机的最佳俯冲轨迹问题;而数学规划法则从第二次实际大战期间发展起来的数学分支(等式约束及不等式约束问题);
2024-12-30 00:31:02
737
原创 TCL实现调用C++接口
有时我们需要扩展TCL的能力,要将一些现有的库或功能,在TCL中调用执行,这是就需要扩展TCL的命令,如何扩展tcl的命令,就是本篇文章的重点。
2024-12-25 01:14:10
538
原创 Ubuntu下的tcl/tk编程快速入门
接口介绍GUI Canvas接口tcl语言 https://www.tcl-lang.org/官方教程二、Tcl/Tk安装及其快速使用入门一个简单单tcl文件demo.tclset x 10set y 20# 输出puts $x $y执行脚本。
2024-12-23 23:35:10
418
原创 Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成
Doxygen 是一个由 C++ 编写的、开源的、跨平台的文档生成系统。最初主要用于生成 C++ 库的 API 文档,但目前又添加了对 C、C#、Java、Python、Fortran、PHP 等语言的支持。其从源代码中提取注释,并生成多种输出格式,如HTML、PDF、LaTeX、RTF等,以帮助开发者创建易于阅读和理解的代码文档。Doxygen 简化了另行编写文档带来的重复性劳动,将代码和文档的工作合二为一。经过 10 年的迭代,Doxygen 成为了 C/C++ 项目首选的文档生成工具。
2024-11-24 19:38:57
1269
原创 Ubuntu下的Graphviz的基础使用方法
graphviz是贝尔实验室开发的一个开源的工具包,它使用一个特定的DSL(领域特定语言):dot作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局1、什么是Graphviz官网地址,Graphviz 是一款开源图形可视化软件。图形可视化是一种将结构信息表示为抽象图形和网络图的方法。它在网络、生物信息学、软件工程、数据库和网页设计、机器学习以及其他技术领域的可视化界面中有着重要的应用。Graphviz 布局程序采用简单的文本语言描述图表,并将图表制作成有用的格式,如用于网页的图像和 SVG;
2024-11-23 23:08:59
1300
原创 Boost Graph Lib库的基本使用(一)
Boost库的介绍及使用,见这里BGL 支持的算法BGL算法包括一个算法模式(实现为范型算法)的核心集合,以及大量的图算法。算法介绍广度优先搜索深度优先搜索成本一致搜索这些算法模式自身并不对图计算任何有意义的量;他们仅仅为构造图算法建筑基石。算法介绍Dijkstra 最短路径Bellman-Ford最短路径Johnson所有节点对间最短路径Kruskal最小生成树(Kruskal’s Minimum Spanning Tree)Prim最小生成树连通区域强连通区域。
2024-11-21 02:07:58
995
原创 Ubuntu下的Eigen库的安装及基本使用教程
简介Eigen [1]目前最新的版本是3.4,除了C++标准库以外,不需要任何其他的依赖包。Eigen使用的CMake建立配置文件和单元测试,并自动安装。如果使用Eigen库,只需包特定模块的的头文件即可。基本功能Eigen适用范围广,支持包括固定大小、任意大小的所有矩阵操作,甚至是稀疏矩阵;支持所有标准的数值类型,并且可以扩展为自定义的数值类型;支持多种矩阵分解及其几何特征的求解;它不支持的模块生态系统 [2]提供了许多专门的功能,如非线性优化,矩阵功能,多项式解算器,快速傅立叶变换等。
2024-11-17 22:59:53
2070
原创 Uubntu下的Boost库安装及使用
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业或非商业的使用都是允许并鼓励的。Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。
2024-11-10 20:26:38
1132
原创 Ubuntu下的截图工具Flameshot
截图工具的截图,又怎么做到的呢?比如制作本文时,把Flameshot截图后界面,同时再次截图如何做到呢?方法1:把Flameshot图片保存下来,查看图片,再次使用Flameshot截图;方法2:直接使用系统最原生的截图按键。Name设置为: Flameshot Screenshot。鼠标框选,选定截图区域时,出现如下工具,可对截图做标记。出现工具使用的基本介绍,此时可开始截图。快捷键设置面板,如下图。
2024-11-10 11:18:01
698
原创 Ubuntu+VsCode++搭建C++开发环境
首先Ubuntu下安装好C++开发的一个些基本工具g++、gdb、make、cmake等,安装方式点检查一下安装环境。
2024-10-07 15:35:42
3354
1
原创 pytorch的几个激活函数与损失函数
使用ReLU等其他激活函数:结合使用其他激活函数,如ReLU或其变种(Leaky ReLU和Parametric ReLU)。使用ReLU等其他激活函数:结合使用其他激活函数,如ReLU或其变种(Leaky ReLU和Parametric ReLU)。使用ReLU等其他激活函数:结合使用其他激活函数,如ReLU或其变种(Leaky ReLU和Parametric ReLU)。不对称性:ReLU的输出范围是[0, +∞),而输入值为负数时输出为0,这导致ReLU输出的分布不对称,限制了生成的多样性。
2024-07-08 02:41:30
696
原创 ubuntu22.04+pytorch2.3安装PyG图神经网络库
ubuntu下安装torch-geometric库,图神经网络开发环境python 3.9cuda 11.8pyg的安装网上教程流传着许多安装方式,这些安装方式主要是:预先安装好pyg的依赖库,这些依赖库需要对应上python、pytorch、cuda的版本,需要小心对应,很容易出错;而且这些依赖库的安装,推荐采用的是预先编译好的库安装。
2024-07-07 00:37:45
1524
原创 numpy的array/asarray/asanyarray的格式转化错误问题解决
简单来说,就是你试图把一个长度大于1的序列放入一个一维数组的单个位置中,或者试图把一个序列放入一个二维数组的单个位置中,而这个位置应该存放一个与序列长度相同的子序列。asanyarray 函数用于将输入数据转换为 ndarray 对象,与 array 函数和 asarray 函数不同的是,它保留了子类数组的子类性质。,勉强接受了,当然可以再找更旧的numpy版本,应该就不会出现这个问题,比如1.15.0版本的是默认直接转化的,不给任何提示的;copy(可选):如果为 True(默认),则复制输入数据;
2024-06-23 09:40:35
1322
原创 numpy-stl库的基本使用及notebook下的使用
points基本等同于vectors,只是数据结构不同。每个points对应stl文件中的一个三角面3个点的数据,每个点有3个数值。可直接在notebook中渲染3D。normals则为一个法向量。
2024-06-21 22:13:50
562
原创 pytorch 使用GPU加速常见的问题
错误内容就在类型不匹配,根据报错内容可以看出Input type为torch.FloatTensor(CPU数据类型),而weight type(即网络权重参数这些)为torch.cuda.FloatTensor(GPU数据类型)inputs = inputs.to(device) # 方法一:将input这个tensor转换成了CUDA 类型。inputs = inputs.cuda() # 方法二:将input这个tensor转换成了CUDA 类型。
2024-06-16 19:50:40
392
原创 Ubuntu下Anaconda+PyCharm搭建PyTorch环境
这里主要介绍在conda+pytorch都正确安装的前提下,如何通过pycharm建立开发环境;
2024-02-14 12:48:45
1773
原创 conda与pip的常用命令
3、conda安装时,采用的conda远程仓库地址。2.step、查看配置情况,了解当前基本配置。3.step、查看当前环境已安装的所有依赖。1.step、查看conda环境。2、conda的env目录地址。4.step、准备安装新的包。1、conda的配置文件。
2024-02-14 00:54:42
1041
原创 ubuntu下conda如何设置镜像源(清华镜像源)
首先贴出.condarc,直接给出清华的镜像源,需要的小伙伴直接使用,别看内容了添加conda镜像源命令(直接使用)接下来开始慢慢介绍了。
2024-02-14 00:43:07
14422
4
原创 ubuntu22.04下使用conda安装pytorch(cpu及gpu版本)
本文介绍了conda下安装cpu、gpu版本的pytorch;并介绍了如何设置镜像源。
2024-02-13 23:47:44
4750
原创 ubuntu下如何查看显卡及显卡驱动
该版本号并不是你已经安装了该版本的 CUDA 的意思,而是说此显卡最大支持的CUDA版本号。nvidia-driver-535 - distro non-free recommended 这个即推荐的。首先我们需要看看显卡硬件有没正确安装到计算机,我们可以通过命令。当然,如果没安装显卡驱动,则需要安装驱动,可使用如下命令。关于ubuntu下的显卡驱动安装详细过程,可以。命令,查看所有可用的即推荐的显卡驱动。命令,可查看支持的最高版本驱动。命令可以查看更多信息。可直接安装推荐的显卡。
2024-02-13 11:19:47
15864
2
原创 ubuntu快速安装miniconda
安装完成后,重新打开终端,即可发现命令行前面多了一个。下载,然而下载非常慢,所以建议选择清华大学的下载源。下载完成后,最简单的安装方式即,打开终端。如需要改变安装路径,可参考官方提供的命令。首先下载miniconda包,可以从。环境 ubuntu.22.04。即可完成安装,默认的安装路径为。显卡 RTX 3050。
2024-02-13 01:09:39
2271
原创 WebAssembly编译之(3)-WASM编译实战之C/C++导出asm.js及wasm库
c/c++导出asm.js/wasm库,实现javascirpt对c/c++函数、类、对象的调用
2023-01-28 01:41:08
3746
7
boostdesc_bgm.i.zip
2020-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人