- 博客(16)
- 收藏
- 关注
原创 关于Python绘制正态分布图(概率密度分布)以及遇到的问题(label无法显示)
关于Python绘制正态分布图(概率密度分布)以及遇到的问题(label无法显示)目的:统计神经网络模型的参数分布情况使用seaborn给我们提供的distplot函数来绘制,即调用sns.distplot(),并传入相关参数即可,这里我们用np.random.normal()函数来生成10000个均值为0,方差为1的数据,并将其传入sns.distplot()from matplotlib import pyplot as pltfrom scipy.stats import normimpor
2022-05-10 20:46:44
5330
原创 Pycharm中多开程序
Pycharm中多开程序在训练神经网络模型时,如果训练的模型占用的显存较小如果需要多次调参,在单线程下,只能等待程序跑完,然后再修改参数,再运行,即浪费了时间,GPU的资源也没有很好利用。这时候可以开多线程,每个线程跑不同的超参,即提高的GPU的利用率,也节省了时间。具体操作如下:在运行按钮处选择Edit Configurations...,选择Allow parallel run,保存即可.输入nvidia-smi查看显卡使用情况,可以看到有多个线程同时在运行到有多个线程同时在运行..
2022-04-17 17:05:29
3494
原创 (刷题笔记)位运算
(刷题笔记)位运算1、n & (n-1)n & (n-1) 作用是消除数字 n 的二进制表示中的最后一个 1191. 位1的个数 - 力扣(LeetCode) (leetcode-cn.com)public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int res = 0; while(n!
2022-04-05 20:46:34
191
原创 ‘wget‘ 不是内部或外部命令,也不是可运行的程序
‘wget’ 不是内部或外部命令,也不是可运行的程序问题描述:在Windows环境下创建了虚拟环境并安装了wget包,但在使用该命令的时候仍然报错,'wget' 不是内部或外部命令,也不是可运行的程序 解决方案:去官网下载对应位数的.exe文件,将其放在C:\Windows\System32目录下即可GNU Wget 1.21.3 for Windows (eternallybored.org)...
2022-04-05 16:44:20
5644
4
原创 (刷题笔记)链表相关——双指针解法(虽然简单,但思想重要)
(刷题笔记)链表相关——双指针解法(虽然简单,但思想重要)文章目录(刷题笔记)链表相关——双指针解法(虽然简单,但思想重要)1、合并两个有序链表2、合并 k 个有序链表3、单链表的倒数第 k 个节点4、单链表的中点5、判断链表是否包含环6、两个链表是否相交1、合并两个有序链表21. 合并两个有序链表 - 力扣(LeetCode) (leetcode-cn.com)while 循环每次比较 p1 和 p2 的大小,把较小的节点接到结果链表上,使用 dummy 节点,可以避免处理空指针的情况,降低代码的
2022-04-02 11:13:55
681
原创 (刷题笔记)动态规划相关题目
动态规划相关文章目录动态规划相关斐波那契数列凑零钱问题最长递增子序列拓展到二维最大子数组最长公共子序列字符串的删除操作最小 ASCII 删除和子序列问题解题模板**1、第一种思路模板是一个一维的 dp 数组**:**2、第二种思路模板是一个二维的 dp 数组**:**2.1** **涉及两个字符串/数组时**(比如最长公共子序列),dp 数组的含义如下:**2.2** **只涉及一个字符串/数组时**(比如本文要讲的最长回文子序列),dp 数组的含义如下:0-1 背包问题子集背包问题优化完全背包问题优化优
2022-03-25 00:07:00
1752
原创 (刷题笔记)图论相关之并查集
图论相关之并查集文章目录图论相关之并查集1、介绍2、基本思路3、一些问题4、平衡性优化5、路径压缩4、优化总结5、例题1、介绍主要是解决图论中「动态连通性」问题的。动态连通性其实可以抽象成给一幅图连线。比如下面这幅图,总共有 10 个节点,他们互不相连,分别用 0~9 标记[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGU9XtEy-1648050411129)(C:\Users\杨铭\Desktop\image-20220323232256776.png)]Un
2022-03-23 23:47:41
195
原创 (刷题笔记)图论相关之二分图
图论相关(三)文章目录图论相关(三)1、介绍2、二分图的判定思路3、例题DFS:BFS:1、介绍定义:二分图的顶点集可分割为两个互不相交的子集,图中每条边依附的两个顶点都分属于这两个子集,且两个子集内的顶点不相邻。给定一幅「图」,请用两种颜色将图中的所有顶点着色,且使得任意一条边的两个端点的颜色都不相同,即图的上色问题2、二分图的判定思路说白了就是遍历一遍图,一边遍历一边染色,看看能不能用两种颜色给所有节点染色,且相邻节点的颜色都不相同/* 二叉树遍历框架 */void traverse(T
2022-03-23 23:46:06
173
原创 (刷题笔记)图论相关之拓扑排序
图论相关(二)文章目录图论相关(二)1、有向图的环检测**DFS版本:****BFS版本:**2、拓扑排序算法DFS版本:**BSF版本:**本文主要记录两个图论算法:有向图的环检测、拓扑排序算法(分别用DFS和BFS)1、有向图的环检测207. 课程表 - 力扣(LeetCode) (leetcode-cn.com)什么时候无法修完所有课程?当存在循环依赖的时候看到依赖问题,首先想到的就是把问题转化成「有向图」这种数据结构,只要图中存在环,那就说明存在循环依赖可以根据题目输入的 prereq
2022-03-23 23:44:51
261
原创 (刷题笔记)图论相关基础篇
图论相关(一)一、图论基础1、图的两种存储方式:邻接表和邻接矩阵// 邻接表// graph[x] 存储 x 的所有邻居节点List<Integer>[] graph;// 邻接矩阵// matrix[x][y] 记录 x 是否有一条指向 y 的边boolean[][] matrix;两种方式的优缺点:对于邻接表,好处是占用的空间少,邻接表无法快速判断两个节点是否相邻在常规的算法题中,邻接表的使用会更频繁一些,主要是因为操作起来较为简/22、度(degree)的概念在
2022-03-23 23:39:42
193
原创 (刷题笔记)岛屿问题的各种变形
岛屿问题的各种变形岛屿问题框架:// 二维矩阵遍历框架void dfs(int[][] grid, int i, int j, boolean[] visited) { int m = grid.length, n = grid[0].length; if (i < 0 || j < 0 || i >= m || j >= n) { // 超出索引边界 return; } if (visited[i][j]) {
2022-03-20 22:40:26
1104
原创 联邦学习框架fedml中集成谷歌提供的差分隐私框架opacus遇到的问题
联邦学习框架fedml中集成谷歌提供的差分隐私框架opacus遇到的问题由于opacus提供的是DP-SGD,在fedml中将代码定位到具体客户端训练的.py文件中,如my_model_trainer_classification.py根据opacus的官网教程,在对应位置添加如下代码(超参要自己模型调整):保存,运行,在第一轮训练完第一个客户端,准备训练第二个客户端时报错,报错如下:“Trying to add hooks twice to the same model”,即对模型重复两次调梯度
2022-03-19 22:57:03
5438
10
原创 (刷题笔记)回溯(全排列、子集、组合相关)
回溯(全排列、子集、组合相关)文章目录回溯(全排列、子集、组合相关)1、全排列(元素无重不可复选)(元素可重不可复选)2、子集(元素无重不可复选)(元素可重不可复选)3、组合(元素无重不可复选)(元素可重不可复选)(元素无重可复选)4、N皇后问题5、总结回溯算法的框架:result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表:
2022-03-19 22:51:54
509
原创 (刷题笔记)二叉搜索树
二叉搜索树1、中序遍历二叉搜索树,得到的是从小到大的序列,那么先遍历右子树可以得到从大到小相关例题:538. 把二叉搜索树转换为累加树 class Solution { int sum = 0; void midTravel(TreeNode root){ if (root == null) return; // 先遍历右子树,即从大到小遍历 midTravel(root.right); sum += root.v
2022-03-13 21:59:41
154
原创 (刷题笔记)查找中位数
查找中位数295. 数据流的中位数数组用一个数组记录所有addNum添加进来的数字,通过插入排序的逻辑保证数组中的元素有序,当调用findMedian方法时,可以通过数组索引直接计算中位数。但是用数组作为底层容器的问题也很明显,addNum搜索插入位置的时候可以用二分搜索算法,但是插入操作需要搬移数据,所以最坏时间复杂度为 O(N)。链表链表插入元素很快,但是查找插入位置的时候只能线性遍历,最坏时间复杂度还是 O(N),而且findMedian方法也需要遍历寻找中间索引,最坏时间复杂度也是 O
2022-03-11 22:23:07
1016
原创 (刷题笔记)差分数组介绍和应用
差分数组介绍和应用差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减如:输入一个数组 nums,然后又要求给区间 nums[2..6] 全部加 1,再给 nums[3..9] 全部减 3,再给 nums[0..4] 全部加 2…如果每次都遍历数组,效率低下,可以考虑构建差分数组核心代码:int[] diff = new int[nums.length];// 构造差分数组diff[0] = nums[0];for (int i = 1; i < nums.length; i
2022-03-10 21:54:29
280
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人