自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于conda安装pytorch gpu总是会自动变成cpu版本

居然能够连带着把gpu版本的pytorch下载下来,大家可以试试,看看是个例还是通用情况。这篇文章讲了三种方法,由于我使用的服务器无法连接外网,所以这些方法我没成功。

2024-04-11 21:54:54 481

原创 ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is compiled with

解决:

2023-06-29 23:41:21 320

原创 关于我想安装cuda11.8版本的torch

重新去搜了个命令:pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html。用这个官网的命令下,一直会把cpu版本的一起下下来,导致运行的时候一直cpu版本而不是gpu版本,torch.cuda.is_available()这个是false,问题很大。

2023-06-28 17:21:38 8627 11

原创 随便记录一下,整吐了

对了,还有一种情况也会报这个错误,如果是cpu版本也会报错,看一下自己的torch是cpu版本还是gpu版本,怎么检查?如果是windows要用分布式,应该设置distributed_backend = 'dp'这个错误,意思是用的分布式代码,但是我tm只有一台机子,我要单机运行,怎么改?把distributed_backend = 'ddp'改为。

2023-06-01 21:27:11 684

原创 “value should be one of int, float, str, bool, or torch.Tensor“ValueError: value should be one

pytorch-lightning的版本改为0.7.3。

2023-06-01 19:11:31 391 1

原创 【BA无标度网络(无限规模)的传播阈值推导过程】

时刻,只有一个节点被感染,我们把它称为"Patient Zero"。在每个时间步中,已经被感染的节点以一定的传播概率。如果我们希望传播过程能够持续下去,也就是疾病能够在网络中蔓延开来,那么传播概率。这样,每个感染节点平均会传染给多于一个的邻居节点,从而导致疾病的传播。在BA无标度网络中,每个节点的度数是随机增长的,遵循幂律分布。表示网络的平均度数,它是节点度数的期望值。表示网络中所有节点的度数之和。能够成功传染给它的邻居的概率为。是一个重要的临界点,当传播概率。将疾病传给它的邻居节点。

2023-05-28 00:00:00 950

原创 NW小世界网络公式推导

复杂网络

2023-05-15 00:00:00 681

原创 WS小世界网络度分布公式推导

是节点的最大度数,对于环状结构的WS小世界网络,由于在WS小世界网络中,每个节点的度数都是。,由于WS小世界网络中每个节点的度数都是。此外,由于每个节点连接的相邻节点数是。接下来需要求解度分布的标准差。

2023-05-15 00:00:00 784

原创 【随记】222.完全二叉树的节点个数

我这里前面有一个判断cur==NULL了,我后面又来判断cur的左右子节点是否为空,这个就是没有掌握到递归的精髓,cur==NULL,递归下来其实就已经能够判断其左右子节点是否为空了。1.确定递归函数的参数与返回值:参数即树的根节点,返回值树的节点个数,int类型。2.确定递归终止条件:如果节点为空,就返回0,表示节点个数为0(当前层的视角)3.确定单层递归逻辑:左右子树的节点个数加当前节点的个数1。

2023-04-28 11:35:29 54

原创 【随记】111.二叉树的最小深度

如果某个节点只有左子树,没有右子树,那么结果就是左子树的最小深度+1(1是这个节点代表的深度)。1.确定递归函数的参数与返回值:参数即数的根节点,返回值树的最小深度int类型。但是这样有一个问题,最小深度的定义是:根节点到叶子节点的深度。2.确定递归终止条件:如果节点为空,就返回0,表示高度为0(当前层的视角)如果某个节点只有右子树,没有左子树,那么结果就是右子树的最小深度+1。那么按照上述做法,得到的结果是1,这个不符合最小深度的定义。这次求最小深度,递归三步走。最后取最小的深度+1。

2023-04-20 16:29:21 45

原创 【随记】104.二叉树的最大深度 & 559.N叉树的最大深度

3.确定单层递归逻辑:求每一棵子树的最大深度,取其中的最大值+1(+1为当前层高度,从下往上慢慢+1得到最终深度)3.确定单层递归逻辑:先求左子树的深度,再求右子树的深度,取两者最大值+1(+1是加上当前层的深度)2.确定递归终止条件:如果节点为空,就返回0,表示高度为0(当前层空节点的视角)1.确定递归函数的参数与返回值:参数即传入树的根节点,返回值即树的深度。1.确定递归函数的参数与返回值:参数即传入树的根节点,返回值即树的深度。递归一直都摸不透测,参考某位大佬的思路,规范的写一下递归的步骤。

2023-04-17 11:59:43 55

原创 【随记】226.翻转二叉树

过程如上图,递归交换每个节点的左右子节点(整颗子树都换被交换,本菜鸡先开始以为只单纯交换左右子节点)

2023-04-04 11:59:38 43

原创 【随记】二叉树层序遍历

思想:用一个队列存储每一层的节点。第一层节点先进队列处理完后,出队,下一层节点再进队列进行处理,以此类推。for循环的条件不要写i<que.size(),因为que.size()是变化的,先用一个变量记录下来。二叉树变为了N叉树,不再只有两个左右子节点了,所以只要知道如何对这种子节点进行遍历就好写了。这个就更简单了,把每一层的值加起来求个平均就行了,注意类型改为double。上一个题是自顶向上的层序遍历,这一个是自底向上的层序遍历。只记录从一棵树的右侧能看到的节点值。102.二叉树的层序遍历。

2023-03-31 09:35:24 50

原创 【随记】二叉树的前序中序后序遍历

可以先自己手写出三种遍历结果,再运行程序看看自己想对没有。想不清楚就结合代码思考何时打印,何时递归。对二叉树做一个回顾。

2023-03-29 17:36:14 47

原创 【随记】239.滑动窗口最大值

注意:最大值在起始位置时,窗口滑动后需要重新找最大值,举个例子[5,1,2,3](后面所有例子k=3),第一个窗口max=5,滑动后,如果不重新找max,那么max=5依然比3大,得不到第二个窗口的最大值3,重新找就是在1,2中找到max=2。如果它比队列尾部的元素大,则弹出队列尾部的元素,直到队列为空或新元素小于等于队列尾部的元素。例:[3,2,1,0]。对于每个元素,如果其值大于队列尾部元素的值,则从队列尾部依次弹出元素,直到队列尾部元素的值大于等于当前元素的值,再将当前元素的下标插入到队列尾部。

2023-03-27 21:44:46 54

原创 【随记】150.逆波兰表达式求值

2.判断是否为运算符时,如tokens[i] == "+",不要用tokens[i] == '+',这是错的,左边是字符串,右边是字符。也不要用tokens[i][0] == '+'(好像某些情况会出错,具体原因忘了,写代码的时候发现的)。1.先开始想的是遍历tokens,用isdigit()函数先判断该元素是否为数字,但是问题是,isdigit()函数只能判断一个字符,不能判断一个字符串,所以我采用isdigit(tokens[i][0])来判断,即判断每个字符串元素的第一个字符是否为数字。

2023-03-23 17:33:58 80

原创 【随记】1047.删除字符串中的所有相邻重复项

例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。链接:https://leetcode.cn/problems/remove-all-adjacent-duplicates-in-string。删除字符串中的所有相邻重复项。来源:力扣(LeetCode)注意最后进行一个字符串反转。思想:栈的特性完美解决。输入:"abbaca"

2023-03-22 15:50:39 72

原创 Anaconda pytorch环境包(较全面)

可能还是有些朋友没有安装上,或者其他一些环境因为各种原因安装不上。我这里提供一个我的环境包,不止torch,里面包含了很多东西,3个多g(最下面有详细)。直接下载下来解压放在Anaconda的envs文件夹下,再在项目中引入即可。打开pycharm,打开你的项目文件,左上角file->settings。选择envs目录下环境包中的python.exe,然后OK。环境包正在上传,上传好了我会把链接放上来。将环境包下载下来,解压放到envs下面。

2023-03-22 14:53:28 1491

原创 【随记】20.有效括号

1.不要直接看完题就开始写代码,要分析不匹配的情况有哪些,想清楚了再写。(第一次就是直接开写,结果越写越乱)2.最后return的是st.empty(),非常巧妙,可以应对"(("这种情况。2).数量匹配的情况下,不匹配情况:"{[)}"、"))"、"(("。1).数量不匹配,如果字符数量为奇数,那么一定不匹配。

2023-03-21 11:19:50 48

原创 【随记】225.用队列实现栈操作

思想:前面一道用栈实现队列操作,用到了两个栈来实现。这道题也是用两个队列来实现栈操作,但是不是输入输出的关系,因为两个队列不像两个栈输入输出一倒腾,元素顺序就和队列一致了。比如,假设两个队列A、B,A放入[1,2,3],B为空,现在要出第一个元素也就是3(栈操作,3在顶部),用队列的操作将A里面的除了队尾的元素放入B中,此时A[3],B[1,2],取A中剩余元素作为返回结果,清空A,将B复制给A,清空B,如此反复。(这描述写得有点拉,可以结合代码理解)ps:top可以调用pop。

2023-03-20 21:40:55 52

原创 【随记】232.用栈实现队列操作

设计了两个栈来实现。一个输入栈,一个输出栈。当元素需要出队时,首先我们需要检查输出栈中有无元素,如果有,我们就直接取输出栈的top元素,然后pop掉;如果输出栈没有元素,我们需要将输入栈全部pop到输出栈中(为什么要全部pop出来到输出栈,思考栈与队列的元素顺序特性,两个栈的一进一出恰好实现队列的顺序),再从输出栈中取top,再pop掉。1.pop的时候,从输出栈取元素,写一次就行了,不需要在if中写了,又写个else再写一次,没必要多写个else,因为不管输出栈怎么样,最后都是从输出栈拿一个元素出来。

2023-03-19 17:23:42 50

原创 c++中i++和++i

1

2023-02-23 21:02:15 404

原创 论文写作心得

本篇简单记录了上完闵帆老师的《论文写作》课程的一些心得体会。

2022-12-12 19:44:11 210

原创 安装transformers报错error:can‘t find Rust compiler(无需安装Rust)

error:can't find Rust compiler & ERROR: Failed building wheel for tokenizers

2022-11-21 16:02:20 5306 10

原创 Anaconda安装torch

2022-07-01 12:00:00 18017 4

原创 pyahocorasick的安装问题

很多文章已经说了安装不成功是需要安装vs,而我已经安装好了vs,pyahocorasick也已经安装好了,但是一运行还是报错,说没有这个模块。原因好像是直接pip,安装到了项目的目录下面,需要安装到python的文件夹下面解决方法:指定安装位置,安装到python的lib文件夹下面pip install --target=E:\ForStu\Python\Python38\Libpyahocorasick路径以你自己的python路径为准...

2021-11-26 15:03:53 598 2

原创 菜鸟刷题(16)【01背包问题变形&完全背包问题】

力扣 494目标和给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加'+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。示例 1:输入:nums = [1,1,1,1,1], target = 3输出:5解释:一共有 ..

2021-06-11 17:41:30 136

原创 菜鸟刷题(15)【分割等和子集】

01背包问题变形给你一个 只包含正整数 的 非空 数组nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11] 。示例 2:输入:nums = [1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/partiti.

2021-06-09 22:14:27 212

原创 菜鸟刷题(14)【01背包问题】

【01背包问题】有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi,,用空格隔开,分别表示第ii件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<N,V≤100...

2021-06-06 14:39:04 386

原创 2021-06-04 菜鸟刷题(13) 【动态规划 股票】

【买卖股票的最佳时机 II&买卖股票的最佳时机 III】力扣122. 买卖股票的最佳时机 II给定一个数组 prices ,其中prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 ..

2021-06-04 22:49:53 100

原创 2021-06-02菜鸟刷题(12)【打家劫舍Ⅱ&股票买卖】

【打家劫舍Ⅱ&股票买卖】力扣213. 打家劫舍 II你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。示例1:输入:nums = [2,3,2]输出:3解释:你不能先偷窃 ...

2021-06-02 22:42:31 63

原创 菜鸟刷题(11)【动态规划 力扣70&198】

用到动态规划力扣70. 爬楼梯

2021-06-01 22:56:44 83

原创 2021-05-23 菜鸟刷题(10)【全排列 II&&子集】

【全排列 II&&子集】算法:回溯算法力扣47. 全排列 II给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]来源:力扣(LeetCode)class Solut...

2021-05-23 22:30:30 89

原创 2021-05-21 菜鸟刷题(9)【递归】

【递归】力扣395. 至少有 K 个重复字符的最长子串给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串,要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。示例 1:输入:s = "aaabb", k = 3输出:3解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2:输入:s = "ababbc", k = 2输出:5解释:最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了 3 次。代码:..

2021-05-21 23:07:25 182

原创 2021-05-19菜鸟刷题(8)【为运算表达式设计优先级&不同的二叉搜索树】

【为运算表达式设计优先级&不同的二叉搜索树】分治算法:基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。力扣241. 为运算表达式设计优先级给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +,-以及*。示例1:输入: "2-1-1"输出: [0, 2]解释:((2-1)-1) = 0...

2021-05-19 22:36:15 108

原创 2021-05-17## 菜鸟刷题(7)【第一个错误的版本&寻找旋转排序数组中的最小值】

菜鸟刷题(7)【第一个错误的版本&】继续练习二分查找算法力扣 278 第一个错误的版本你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错

2021-05-17 22:49:53 78

原创 2021-05-16##菜鸟刷题(6)【x 的平方根&寻找比目标字母大的最小字母】

【x 的平方根&寻找比目标字母大的最小字母】算法思想:二分查找,每次都能将查找区间减半,时间复杂度O(logN)力扣69. x 的平方根实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。代码:...

2021-05-16 21:43:23 65

原创 2021-05-15##菜鸟刷题(5)【分发饼干&无重叠区间】

【分发饼干&无重叠区间】用到的算法思想是贪心算法,局部最优形成全局最优力扣455. 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入:...

2021-05-15 22:43:20 122

原创 2021-05-14【平方数之和&反转字符串中的元音字母】

【平方数之和&反转字符串中的元音字母】这两道题的用到的算法思想都是双指针633. 平方数之和给定一个非负整数c,你要判断是否存在两个整数 a 和 b,使得a^2 + b^2 = c 。示例 1:输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5示例 2:输入:c = 3输出:false示例 3:输入:c = 4输出:true示例 4:输入:c = 2输出:true示例 5:输入:c = 1输出:true代码:...

2021-05-14 21:47:17 135

原创 2021-05-13##菜鸟刷题(4)【前缀和】

##菜鸟刷题(4)【前缀和】前缀和:a[5]={1,2,3,4,5}s[1]=a[1]s[2]=a[1]+a[2]...s[5]=a[1]+a[2]+a[3]+a[4]+a[5]所以:s[5]={1,3,6,10,15}根据前缀和可以求得任意区间[L,R]的和为s[R]-s[L-1]推导:s[L-1]=a[1]+a[2]+...+a[L-1]s[R]=a[1]+a[2]+...+a[L-1]+a[L]+a[L+1]+...+a[R]欧克,上题力扣13.

2021-05-13 22:27:11 51

空空如也

空空如也

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

TA关注的人

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