自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 问答 (1)
  • 收藏
  • 关注

原创 Linux环境下pip报错No space left on device

【代码】Linux环境下pip报错No space left on device。

2024-04-25 11:01:47 185

原创 tensor.save_image 报错 :TypeError: Cannot handle this data type: (1, 1, 8), |u1

tensor.save_image 中的通道数只能是 1 或 3 ,也就是灰度图和 RBG 图像,我的这个代码此处应该保存的灰度图,但是通道数显示的 8 ,经过分析,是因为预测采样时 batch_size 设置成了 8 ,导致了最后的通道数有误,将 batch_size 设置成 1 后,问题解决,顺利运行。

2024-04-11 19:10:25 143

原创 MedSegDiff加载checkpoint文件(.pt)报错AttributeError: ‘DataParallel‘ object has no attribute ‘****‘

在 model 后面加个 .module,再次运行,加载模型成功。

2024-04-11 08:27:42 156

原创 基于Python科研论文绘制学习 - task3

seaborn 在matplotlib 的基础上进行了更高级的封装,能用更少的代码绘制配图。

2023-08-24 23:28:55 249

原创 基于Python科研论文绘制学习 - task2

axes()函数的主要功能是为当前画布(figure)对象添加坐标图形(axes)对象,使其成为当前坐标图形(axes)对象。其不同之处在于,subplots() 既创建了一个包含子图区域的画布,又创建了一个 figure 图形对象,而 subplot() 只是创建一个包含子图区域的画布。add_subplot()的使用方法和subplot()类似,不同的是,add_subplot()函数先产生figure对象,然后在该对象的基础上依次添加子图。subplots()函数是常见的用于绘制子图的函数。

2023-08-22 23:11:41 309

原创 基于Python科研论文绘制学习 - task1

尝试运行代码的时候出现了很多bug,基本都是围绕Scienceplots库的,在更新pip、pandas、matplotlib等等一系列操作无果。发现style里根本没有science。继续尝试着找了很多种办法却还是有点束手无策,但是不影响最后的输出(影响的应该是图片的风格),遂作罢。若遇到了需要用science作图代码报错了怎么办呢?以上为调试代码阶段;以下为学习配色总结。与ggplot对比确实是风格不同。易读性(完整准确的标题、标签)一致性(配图需要和上下文一致)必要性(避免图多字少)

2023-08-15 17:50:33 266

原创 PyCharm中无法调包,报错ModuleNotFoundError: No module named ‘numpy‘

之后将解释器修改为:重新运行:成功。

2023-04-03 13:38:11 227

原创 完全背包问题

【代码】完全背包问题。

2023-03-16 14:03:12 57

原创 01背包问题求方案数

背包问题求方案数

2023-03-13 20:26:56 193

原创 怎么查看Python安装了哪些包?

cmd中输入 pip list。

2022-11-24 15:49:40 10604

原创 什么是元学习?

一文通俗讲解元学习(Meta-Learning)

2022-11-07 20:46:52 132

原创 Python列表

二者区别,追加单个元素时,二者没有区别,若是想追加整个列表,append会将想追加的列表按整个列表添加,而extend则是按照列表中的单个元素逐个追加。remove是按内容指定删除列表元素的第一个,pop是指定删除元素位置(默认是末尾)并返回删除元素值。index()查找索引返回出现该元素的第一个位置;复制列表有三种操作方式:a.copy()、b = a[ : ]、b = a。前两种操作并不会影响原始列表,而最后一种方式会影响原始列表。reverse()将列表逆置,改变原列表;列表推导式还可以用来。

2022-10-24 10:22:30 1124

原创 csv文件用excel打开乱码问题

先在文件夹新建一个excel表格,光标定位在表格的左上角。点击菜单栏的“数据”,选择从文本选择要导入的csv文件点击加载导入成功,没有乱码了。

2022-04-07 11:13:31 524

原创 Selenium—chrome与chromdriver版本不匹配问题

疯狂像这样报错,一开始以为是chromedriver下载不成功,结果后面发现是chrome版本与chrome driver版本不匹配。其实已经下载了新的版本,但是旧版本仍然存在在根目录下,所以要找到旧版本的位置,替换新版本。输入cmd打开命令提示符,输入命令:where python找到所有python目录下的chromedriver替换(或者输入where chrome driver,把最新版本的先复制,一个一个替换)最后在命令提示符中输入chromedriver查看版本与chrome版本匹.

2022-04-05 15:54:06 1481

原创 Leetcode-942. 增减字符串匹配

力扣又名语文阅读理解。。。。。看了半天才明白,题目问的是给一个字符串,反推列表数字的顺序。。。贪心策略:有四种字母排序的组合:“I D”“I I”“D I”“D D”分析四种情况,发现当出现“ I ”时,对应着最小的数字;出现“ D ”时,对应着最大的数字。但是因为最后的排序列表长度比字符串长1,所以特殊处理最后一个字母。代码如下:class Solution: def diStringMatch(self, s: str) -> List[int]: .

2022-04-04 11:43:29 255

原创 Leetcode - 976. 三角形的最大周长

贪心算法,先排个序,选最大的三条边看满不满足三角形条件(两边之和大于第三边),若满足直接输出,若不满足则全体往后挪一位,继续判断。代码如下:class Solution: def largestPerimeter(self, nums: List[int]) -> int: nums = sorted(nums, reverse = True) a, b, c = nums[0], nums[1], nums[2] ##先选出最大的三条边 .

2022-04-01 16:24:24 235

原创 Leetcode-LCS 01. 下载插件

真是球球出题人把语文学明白,看了半天没看懂题目,看了评论区才知道原来升级带宽也占了一分钟。。。。费了九牛二虎之力把题目理解了后,现在来浅浅分析一下:dp[ i ] 意为第 i 分钟最多完成几个,so,dp[ i ] 主要依赖于第 i -1 个加上现有的带宽还是第 i -1 分钟升级带宽(v*=2)之后的值;** 递推式: dp[ i ] = max { dp[ i - 1]+ v ,{dp [ i - 1] + 2*v , v *= 2} } **代码如下:class Solution: ..

2022-04-01 15:47:55 86

原创 Leetcode-LCP 07. 传递信息

这题可以用两种思想来做,一种是DP(动态规划),另一种是DFS(深度优先)。方法一:DP(动态规划)dp[ i ][ j ] 代表传到第 i 轮传到 j 有几种方式。 所以dp数组的大小应该为 (k+1)×n (还有个第0轮)。又因为relation数组中包含的是数组,所以应该遍历的是relation中的数组设为 r ,relation是个图,画出来如下图:[ 0, 2 ], [ 2, 1 ] 很明显,从 0 到达 1 要经过 2;所以递推式为:dp[ i ][ relation ..

2022-04-01 10:32:25 309

原创 Leetcode-买卖股票的最佳时机 II

经过分析,此题适用贪心策略:越早卖出获得的总利润越大。所以算法思想是:在第 i 天买入,若第 j 天(j > i)prices[j] - prices[i] > 0, profit += prices[j] - prices[i]。class Solution: def maxProfit(self, prices: List[int]) -> int: n = len(prices) sum = 0 for i in range.

2022-03-30 15:10:10 266

原创 Leetcode-Z 字形变换

找规律:数学规律找到了,接下来的难点就是代码实现。一共需要两层循环,外层循环为n行,内循环为字符串长度;python当中字符串是可以直接相加的(字符串相加就是拼接);注意观察奇数行号的规律是成波动性的,两个波动数相加刚好为n+2,所以需要用一个flag标记当前波动位置;当循环到第0行和最后一行时,规律显然是一样的,所以单独处理。代码如下:class Solution: def convert(self, s: str, numRows: int) -> str: ..

2022-03-27 12:09:06 258

转载 Jupyter对标的Spyder代码块:#%% 分割cell

Jupyter对标的Spyder代码块:#%% 分割cell

2022-03-26 16:52:06 866

原创 Leetcode-最长回文子串

先是回文子串的判断(详见上一篇:Leetcode-回文子串),只要跟着循环记录下当前最长的回文串位置就好了,但是在Python中需要提前声明记录最长回文子串的终止位置为0,因为最后需要用来判断最长回文串是否大于一,否则返回字符串第一个位置。class Solution: def longestPalindrome(self, s: str) -> str: n = len(s) ma = 0 ## 记录当前最大回文串长度 g.

2022-03-26 16:20:48 1440

原创 Leetcode-回文子串

虽然一开始看题目就感觉是用动态规划,但是好像找错递归式了。。。。自以为看透了题目的本质,结果居然是暴力解法。。。。。。class Solution: def countSubstrings(self, s: str) -> int: c = [[0 for i in range(len(s)+1)]for i in range(len(s)+1)] for i in range(1,len(s)+1): for j in rang.

2022-03-26 15:03:26 386

原创 决策树创建

决策树:优点: 计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可处理不相关特征数据。缺点: 易过拟合ID3、C4.5、CART树ID3:特征选择准则:信息增益缺失值处理:没有考虑优缺点:不能处理连续数据,只能连续离散化处理采用信息增益易偏向取值较多的特征(不如信息增益率)缺失值不好处理没有剪枝,易过拟合C4.5:特征选择准则:信息增益率缺失值处理:可处理优缺点:产生的规则易于理解,准确率高,实现简单对数据多次顺序扫描和排序,效率低适合小规模数据集,需将数据

2022-03-24 21:23:41 2649

原创 Python一些小细节

例如:from math import **代表导入所有的变量,例如使用pi,不需要写为math.pi,直接使用pi使用log,不需要使用math.log,直接使用log可能出现在不同模块中含有相同的名称,都用*导入的话,名称冲突,可能不容易检查出来。尽量用什么功能导入什么功能吧。例如:from math import loglog(10)log(10)2.302585092994046 ##输出...

2022-03-24 11:47:11 543

原创 Leetcode-获取生成数组中的最大值

看似很绕,其实就是奇偶的规律。。。class Solution: def getMaximumGenerated(self, n: int) -> int: if(n==0): return 0 elif(n==1): return 1 else: nums = [0,1] ma = 1 for i in range(1,..

2022-03-23 11:09:04 106

原创 Leetcode-第 n 个泰波那契数

跟斐波那契数列差不多。。。。。class Solution: def tribonacci(self, n: int) -> int: if(n==0): return 0 elif(n==1 or n==2): return 1 else: a = 0 b = 1 c = 1 for i in ra.

2022-03-19 10:56:16 58

原创 Leetcode-多数元素

一道简单题直接把今日KPI拉满了,做完直接消除emo,hhhPython的思路就很简单啊,建个字典,把各数出现的次数全部统计到字典里,最后判断一下,over~~class Solution: def majorityElement(self, nums: List[int]) -> int: k = int(len(nums)/2) d = dict() for i in nums: if(i in d): .

2022-03-18 20:54:02 525

原创 五大排序算法

插入排序:每次将一个待排序记录按关键字大小插入到前面已排好的序列中。如图所示:意味着待排元素前面已经部分有序,所以先和前一个元素相比,1、若待排元素比前面的大则位置不变,2、若比前面元素小,则先用一个哨兵将此待排元素记录下来,前面比哨兵大的数都依次往后挪,直到碰到比哨兵小的数,将此位置的值替换为哨兵。def InsertSort(a): for i in range(2,len(a)): ## 数组位置从1开始 if(a[i]<a[i-1]):

2022-03-17 21:05:09 386 2

原创 Leetcode-除数博弈

纯纯找规律。。。。。。由此可见,奇数Bob 赢,偶数Alice赢(洋洋洒洒写十行,最后代码就两行):class Solution: def divisorGame(self, n: int) -> bool: if(n%2==0): return True else: return False...

2022-03-17 11:26:28 512

原创 Leetcode-柠檬水找零

这道题才呈现了什么叫简单题!!!!!!!之前做的那些叫什么简单题啊!!!!!!class Solution: def lemonadeChange(self, bills: List[int]) -> bool: if(bills[0]!=5): return False else: five = 1 ten = 0 twenty = 0 for i in ra.

2022-03-17 10:22:23 401

原创 Leetcode-数组拆分I

这题其实考的是阅读理解。。。。一开始题目都没读懂题目的意思是,N多种组合的各个数组中最小的相加的和取最大的一种组合,意味着最小的值要和第二小的组合(最小的无论和哪个组合选择min都是它,相当于把第二小的打掉)(以为着用最小的把次小的打掉,以此保留大的,最终使总和最大),第三小和第四小组合(第三小现在最小,把第四小打掉)。。。以此类推,再相加得出的和即为min(a,b)总和最大捏🐎,只要看懂题目一下就做出来了。。。。。。class Solution: def arrayPairSum(self.

2022-03-15 16:33:46 333

原创 Leetcode-分发饼干

一开始的思路是:先把胃口大的先满足,依次递减;后面发现胃口小的先满足比较符合贪心策略(把小的先满足,尽可能满足多的孩子):然后就是疯狂debug时间。。。。对自己真的很无语。。。。class Solution: def findContentChildren(self, g: List[int], s: List[int]) -> int: k = 0 count = 0 ## 统计被满足的孩子个数 g.sort(r.

2022-03-15 15:52:45 56

原创 Leetcode-最长回文串

一开始的思路是:偶数出现次数全部加进去,然后奇数最长的先加进去,剩下的都减一再加:class Solution: def longestPalindrome(self, s: str) -> int: d = dict() ## 字典存储 c = [] le = 0 flag = 0 for i in range(len(s)): ## 将每个字母出现的次数统计进字典 if(.

2022-03-15 13:44:33 263

原创 Leetcode-比特位计数

呵呵哒,这道题完全就是找规律。。。。。。贴一下大佬的思路:1: 0001 3: 0011 0: 00002: 0010 6: 0110 1: 00014: 0100 12: 1100 2: 00108: 1000 24: 11000 3: 001116:10000 48: 110000 4: 010032:100000 96: 1100000 5: 0101 由上可见: 1、如果 i.

2022-03-15 09:55:11 316

原创 Leetcode-使用最小花费爬楼梯

分析: 爬上楼顶的最低花费依赖于爬到 n-1 阶的花费或 n-2 阶的花费(因为只能一次爬一阶或两阶),所以递推式为:c[i] = min{c[i-1] , c[i-2]}class Solution: def minCostClimbingStairs(self, cost: List[int]) -> int: c = [0 for i in range(len(cost)+1)] c[0] = cost[0] ## 先记录下从第一阶或第0阶开.

2022-03-14 08:39:21 112

原创 Leetcode-买卖股票的最佳时机

一开始直接蛮力枚举。。。。:class Solution: def maxProfit(self, prices: List[int]) -> int: d = 0 for i in range(len(prices)): for j in range(i,len(prices)): if(prices[j]-prices[i]>d): d = prices.

2022-03-13 17:05:11 595

原创 Leetcode-爬楼梯

**分析:**每次可以爬1or2阶楼梯,当需要爬到n阶楼梯时,意味着可以从n-1阶和n-2阶爬上去,所以需要求出到n-1阶和n-2阶的数,递推式为:k[n] = k[n-1]+k[n-2](和斐波那契简直不要太像好吧。。。)代码参考斐波那契class Solution: def climbStairs(self, n: int) -> int: if(n == 1): return 1 elif(n == 2): .

2022-03-13 14:56:49 747 1

原创 Leetcode-杨辉三角

找规律,发现行的第一个和最后一个都是1假设第五行第二个数4所在的数组位置是2,她是由上一个数组的第一个和第二个值相加,所以得出递推式:list[row][n] = list[row-1][n-1]+list[row-1][n],所以需要初始化第一个值为1,即list[1][1] = 1(假设位置都从1开始)class Solution: def generate(self, numRows: int) -> List[List[int]]: list = [] .

2022-03-13 11:47:28 62

原创 Leetcode-斐波那契数列

方法一:使用递归(但是在leetcode里不能执行成功,因为我不会在类中调用自身递归,所以我是在jupyter notebook中操作的)def fib( n): if(n == 0): return 0 elif(n == 1): return 1 else: return fib(n-1)+fib(n-2)调用:fib(30)运行结果:方法二:(不使用递归)把a、b、c分别看做三个指针依次往后挪,例如a,当a.

2022-03-13 09:50:18 400 2

空空如也

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

TA关注的人

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