- 博客(261)
- 收藏
- 关注

原创 C++ 常见问题的回答
因为HTTP是无状态的,依次请求,下一次还是这个客户请求无法识别出这是熟人,自动填入用户名和密码解决方案就是session配合 cookie ;或者 token 配合 cookieSession和Token机制原理上差不多,都是用户身份验证的一种识别手段,它们都有过期时间的限制,但两者又有一些不同的地方。1、Session是存放在服务器端的,可以保存在:内存、数据库、NoSQL中。它采用空间换时间的策略来进行身份识别,若Session没有持久化落地存储,一旦服务器重启,Session数据会丢失。2、Toke
2023-08-14 17:02:00
313
原创 虚拟机的扩容
现在的情况是:VMware 虚拟机的磁盘已经从 20G 扩容到大约 50G(实际是 ~53.7G),但是系统里原来的分区。执行后,LVM 才会把新空间加到卷组里,卷组才会有空闲空间(Free PE)用来扩展逻辑卷(LV)。,LVM 只知道原来 20G 空间,后面新增的空间就闲置在那里,根本用不上。(Linux LVM)还是只有大约 20G,没有用到新扩出来的空间。分区虽然变大了,但 LVM 并不知道下面的物理卷已经多了可用空间。4. 重启完后,识别扩容的分区,pvresize 命令。
2025-07-08 14:42:09
532
原创 记录一次在 centos 虚拟机 中 安装 Java环境
解压 jdk 到指定位置首先,有一个 Java 环境的 jdk 包:jdk-8u191-linux-x64.tar.gz其次,把这个 jdk 移动到虚拟机里面,最好不要直接就放到 ~ 目录中( ~ 目录就是 /home/你的用户名字),建议放到 /usr/loacal/java 目录下设置环境变量要让系统认识这个 JDK,需要设置环境变量。最常用的是修改(系统全局生效)由于我们解压后的目录是 :因此,想要永久生效,需要 编辑( 注意编辑的时候需要 sudo)注意 配置JAVA_HOME。
2025-07-08 11:23:28
243
原创 Linux 最近常用的命令
不会产生错误,而是静默地继续执行。这使得它非常适合用于脚本中,因为你不必担心目录是否已经存在。参数会自动创建这些必要的父目录。这意味着你不需要手动逐级创建每个目录层级。:如果指定的路径中包含一个或多个不存在的父目录,:如果目标目录或其任何父目录已经存在,
2025-07-08 10:31:35
71
原创 MapReduce 学习
例如 : Map 1 节点: (b, 1) (b, 1) (b, 1) (a, 1) (a, 1) (a, 1) (a, 1) (c, 1) (c, 1)Map 1 节点: (a, 1) (a, 1) (a, 1) (a, 1) (b, 1) (b, 1) (b, 1) (c, 1) (c, 1)Map 2 节点 :(c, 1) (c, 1) (a, 1) (a, 1) (a, 1) (a, 1) (b, 1) (b, 1) (b, 1)
2025-07-07 13:55:22
652
原创 Kubernets K8s 学习
Kubernetes 是一个容器编排平台它能帮你自动化容器(通常是 Docker 容器)的部署、扩缩容、负载均衡、滚动更新、健康检查等用来管理大规模的容器集群,让服务运行更加稳定自动重启:容器崩溃后自动拉起滚动更新:平滑替换旧版本服务发现:通过 Service 和 DNS 实现负载均衡:同一个 Service 后面挂多个 Pod配置管理:用 ConfigMap/Secret 动态注入配置扩缩容:根据负载或手动调整副本数存储编排:挂载 Volume 实现数据持久化
2025-07-05 14:30:24
172
原创 在虚拟机 执行 docker select nginx 等镜像 报错 docker: Error response from daemon.... (Client.Timeout exceeded w
如果 docker pull nginx 执行成功,那你也就不用改了,原因和我一样,就是search 这个命令的问题,,,,,但是,不要再改其他配置了,有一种可能是:search 这个命令不走国内镜像,你试一下 docker pull 这个命令呢,此时尝试 docker search nginx ,还是有问题,还是报这个错。然后,就是踩坑的地方了!如果还是不行,那就继续,按照。上图所示就是设置成功啦。
2025-07-02 11:33:15
268
原创 Vim !你害的我们好惨啊!!
但是如果说,粘贴完复制来的内容,还需要进一步处理,可以接着 4. 的步骤进行操作)(最常见的情形是,粘贴完了从网页上复制下来的内容,就结束啦,那么,按 esc 键退出环境,然后 输入。总之,需要使用Vim,然后 ,介绍一点最基础的用法,和我涉及到的用法。全选高亮显示:按esc键后,先按gg,然后ggvG或者ggVG。全部删除:按esc键后,先按gg(到达顶部),然后dG。全部复制:按esc键后,先按gg,然后ggyG。单行复制:按esc键后, 然后yy。单行删除:按esc键后, 然后dd。
2025-07-01 14:53:07
180
原创 决策树 & GBDT & XGBoost & LightGBM
如果一棵树的叶子节点过多,说明它可能已经学习了训练数据中的很多细节甚至是噪音,这种现象通常被称为过拟合。C4.5并没有直接偏向于取值少的特征,而是通过分裂信息来调整信息增益,使得特征的基数大小影响其最终的选择概率。这种方法旨在纠正信息增益对于取值较多特征的偏爱,通过将信息增益与特征自身的熵相除来惩罚那些拥有大量取值的特征。该回归树不是去做分类,而是用回归树去。组合在一起,每一轮都“纠正”上一轮的错误,最终得到一个强大的集成模型。前一轮训练出的模型,而是通过样本权重的改变,间接地反映之前模型的表现。
2025-05-27 16:36:02
908
2
原创 RNN & GRU & LSTM 模型理解
2. GRU 通过门控 Gamma_r Gamma_u 两个变量,实现了对于过往记忆的筛选:这种机制使得GRU能够灵活地决定何时“忘记”过去的信息以及何时“记住”新的信息,从而有效地捕捉序列数据中的长期依赖关系。1. GRU是为了解决RNN 梯度消失引入的改良模型,1. 在RNN中,
2025-05-23 14:46:13
484
原创 朴素贝叶斯分类器 && 贝叶斯网络(待完成)
P(表皮绿色 | 瓜好) :条件概率,在已知瓜好的情况下,表皮为绿色的概率,从训练集中统计获得。P(瓜好 | 表皮绿色) = P(表皮绿色 | 瓜好) * P(瓜好) / P(表皮绿色)P(瓜好 | 表皮绿色) * P(表皮绿色) = P(表皮绿色 | 瓜好) * P(瓜好)P(表皮绿色,瓜好) = P(瓜好 | 表皮绿色) * P(表皮绿色)P(表皮绿色,瓜好) = P(表皮绿色 | 瓜好) * P(瓜好)P(表皮绿色,瓜好) :联合概率,即()内几个事件同时发生的概率。对于贝叶斯分类器来说,选择。
2025-05-16 18:50:27
297
原创 记录力扣刷题无语事件 -- 提交后显示 Result not supported问题
其实不一定是有问题,你看看你的提交记录,看看是不是正确通过了吧,通过就做下一道题,真够傻b的了。
2025-04-13 10:52:44
198
原创 如何快速通过SSH连接到购买的云服务器并搭建一个基本的开发环境
这里李沐展示了购买服务器,在服务器上安装必要的环境指令,映射服务器到本地方便开发等指令。【03 安装【动手学深度学习v2】】
2025-04-03 15:03:11
217
原创 VSCode 抽风之 两个conda环境同时在被激活
解决办法就是 :conda deactivate 两次,把这俩环境都取消激活,然后再重新进入环境,,,环境没有被正确清理或初始化,导致。原因大概是:conda。
2025-03-22 21:00:30
508
原创 关于取模和下标&和算法题目之间的感受
例如:取模运算往往使用场景是下标 0~x ,但是现在下标从1开始,那么我们可以选择:先将下标从 1~x 修改为 0~x-1 (就是做一个左右区间的减一操作),这样,就可以符合取模运算的经常使用的数据范围了。具体方法就是找到习惯使用的方法的适用范围,把要解决的问题适配到方法里面,进行数值范围等的转变,按照常用方法进行处理后,将处理后的结果再次进行数值范围变换回复到当前问题的数值范围中。注意,我更应该关注的是:方法X的边界限制条件,方法X是如何推理出来的(这个时间不够也可以先放放),以及。
2024-10-23 10:25:13
458
原创 NTS 对于METIS库的使用 :
train_sampler->update_metis_data()代码执行完,属于 Sampler类 全局的vector<vector<VertexId>>batch_nodes 属性的值就已经被正确安排上 对应METISbatch中的节点ID了。因此: MetisPartitionGraph() 在调用 MetisPartition() 后,用 partition_id 承接子图划分后的结果。并且将各个METIS子图所包含的节点ID 按顺序 线性存放在 metis_partition_id 中。
2024-02-26 19:50:38
573
原创 关于在代码中vector的一些使用
简言之,就是 无论是数组还是vector都可以使用列表初始化,也可以使用 数组 初始化 vector。下面的内容使用C++11版本。
2024-02-21 14:43:53
440
原创 CSC 转 CSR 的C++代码:
template <typename T>void printfVector(vector<T>&vec) { printf("输出:\n"); for(int i=0;i<vec.size();i++) { printf("%ld ",vec[i]); } printf("\n");}// 如果函数需要修改 vector 的内容或者需要避免不必要的拷贝操作,可以使用引用传递void csc2csr(int v_size, int
2024-02-20 18:38:42
282
原创 VSCode C/C++无法跳转到定义(又是你 clangd !)
如果设置不了,那就吧clangd这个扩展禁用掉,然后再次修改 Intelli Sense Engine 为default 就可以啦。把 C_cpp : Intelli Sense Engine 的内容设置为 default。点击 齿轮⚙ 符号,进入 配置设置,找到。重新配置后,重启 vscode 就行了。
2024-02-20 16:21:51
5551
1
原创 MAC VSCODE g++编译器无法编译C++11语法的 解决办法(CodeRunner版本)
于是我很诧异,我自己用终端手敲了一遍 g++ main.cpp -std=c++11 就不会提示我语法出错,那就说明,是这个语句没有指定C++版本为11导致的编译错误。coderunner的原理大致是:先判断你这是什么语言,然后有一个 code-runner.executorMap 来对应各个语言是用什么执行语句。OK,那么,解决办法也很简单,在coderunner的设置中把对应的编译语句加上std=c++11就成了。然后,重启VSCODE(不重启理论上也行,但还是有仪式感的重启一下吧)
2024-02-17 16:37:11
1089
原创 函数模板 函数参数
可以显示得使用 来指明 typename 中的R的含义,也可以通过传入参数让编译器自己意会。但是编译器一会会存在意会错误的情况,因此更建议。1. 函数模板只能在全局中定义,或者是在类中定义。不可以在函数中(例如 main 函数中被定义)我真的麻了,就是欠的债一定一定要补上,不然就会一直一直的恶心你!而且就是这种常见的语法,由于我不会,导致我。2. 举个例子:函数模板的定义和使用。
2024-02-14 21:47:32
345
原创 解决方案|AttributeError: (module ‘scipy.sparse‘ has no attribute ‘coo_array‘) | 常见下载指定版本库的命令
打算画图,然后发现一直报错:AttributeError: (module ‘scipy.sparse‘ has no attribute ‘coo_array‘)网上说可能是networkx 和scipy 的版本原因,于是我先更新了scipy 原来的scipy是1.6.2 这个版本,更新为 :1.8版本。networkx 一直是 3.1 版本的。指定版本 为1.8版本。
2023-12-23 20:00:05
1282
原创 ubuntu pycharm 死机,如何重启
如图所是,我们看到有多个pycharm的进程正在运行,找到对应的id。通过 `kill -s 9 IDXXX` 结束指定进程。2. 使用 kill -s 9 来杀死进程。1. 找出pycharm 进程的id。ps -ef 是查看当前运行的进程。
2023-12-15 19:32:16
2049
原创 GraphSAGE 到底在训练什么? 图上的Mini-Batch 是怎么训练的 ?
【代码】GraphSAGE 到底在训练什么?图上的Mini-Batch 是怎么训练的?
2023-12-12 21:39:02
1932
原创 python 源码阅读
,但一般情况下,普通字符串表示也可以用于函数的文档字符串。选择使用原始字符串表示主要是考虑到其中可能包含大量特殊字符,使用原始字符串可以方便地避免对特殊字符进行转义。文档字符串是放置在函数定义内部顶部的字符串,用于描述函数的作用、参数、返回值以及其他相关信息。它们通常被用作函数的说明文档,便于其他开发者理解并正确使用该函数。需要注意的是,虽然这里使用了原始字符串表示(的说明,包括函数的功能描述、参数说明等。内的内容提供了对函数。
2023-12-06 20:31:02
602
原创 GCN 到底在训练什么呢?关于全图GNN训练,在聚合什么,训练什么?
但如果我们将该脚本作为模块导入到另一个脚本中,则__name__属性会被设置为模块的名称(例如"example"),语句块中的代码不会被执行。在DGL 中使用一串 True 或 False 组成的 一维tensor 来标识 这个节点到底是属于 train test val 哪一类。当我们直接执行这个脚本时,__name__属性被设置为__main__,因此满足if条件,语句块中的代码被调用。就可以:select_label_tensor = labels[train_mask] 了。
2023-12-04 22:43:05
1070
原创 记录一个傻错误:“error: expected identifier before string constant“
然后我 在类的属性中定义了一个 ofstream 类型的变量,指定了路径,然后就会给我抱着个错误,号和,真够傻的:"error: expected identifier before string constant"就是 : 在类中,类的 无论什么属性 public private 等,都是不可以在定义的时候赋初值 的。
2023-11-21 15:49:54
1841
原创 画图时使用的函数和一些错误处理
出现这个错:"ValueError: shape mismatch: objects cannot be broadcast to a single shape. Mismatch is between arg 0 with shape (0,) and arg 1 with shape (100,)."
2023-11-17 20:05:43
498
原创 dgl 的cuda 版本 环境配置(dgl cuda 版本库无法使用问题解决)
建议使用pip版本的,因为conda版本的命令我试过,没下载成功,因为开不开魔法梯子我都无法在命令行访问到anaconda官网,离谱,,明明刚还用conda下载了dglcu。1. 如果你同时有dgl dglvu-XX.XX 那么,应该只会运行dgl (DGL的CPU版本),因此,你需要把dgl(CPU)版本给卸载了。但是我只卸载CPU版本还不够,我GPU 版本的dglcu依旧不好使,因此吧GPU版本的也得卸载了重新安装。因此,torch 可以下载。
2023-11-15 08:57:43
4725
2
原创 C++源文件的编译过程 & 学习 CMake 文档的前置知识
想要成功将main.cpp编译生成可执行文件,需要使用指令告知 g++ 编译 main.cpp 的时候需要链接上 math.cpp 中的内容(因为main.cpp 中使用了 math.cpp 中定义的函数)2. include file 和 .lib 区别。1. include file 是什么?
2023-11-08 10:56:02
225
原创 cmake 中经常出现的 关键词 scope 中的 三种:PUBLIC PRIVATE INTERFACE
如果 在使用 `target_include_directories() `函数的时候,选择 PUBLIC 选项,那么,当生成B.lib的时候,只需要 `target_link_libraries(但是 我不可以使用 add_library() 来实现这个嘛, add_library() 和 target_include_directories() 有什么去区别?A.lib 依赖 a1.h a2.h ,B.lib 也依赖 a1.h a2.h。
2023-11-07 17:26:13
151
原创 什么是 archive file ,与 object file 的区别
archive file 是指:将这三个object file 文件 合成一个文件,之所以要将三个文件合成一个文件是因为这样更方便拷贝和分发给他人使用(因为此时的 archive file 文件依旧不是一个可执行的目标文件,想要生成一个可执行文件需要将这些object file 和 object file 中涉及的标准库中的头文件也连接起来,才能生成可执行文件。但是大多数情况下,object file 的源文件 是需要链接其他文件的,因此,源文件 编译后 生成的内容无法直接执行。
2023-11-06 16:19:20
767
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人