<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[No__names的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/No__names</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; No__names]]></copyright><item><title><![CDATA[记一次Pytorch内存泄露的排查与处理]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/106087249</link><guid>https://blog.youkuaiyun.com/No__names/article/details/106087249</guid><author>No__names</author><pubDate>Tue, 12 May 2020 23:06:06 +0800</pubDate><description><![CDATA[1.起因:

模型训练过程中内存占用不断增加,训练到30000轮左右已经占用到200G内存.

2.排查过程

查找了网上的一些内存泄漏排查方法,使用了memory_profiler ojbgraph pympler这三个工具进行排查

参考链接如下:

Pytorch超出内存

pytorch内存泄漏分析案例 | list转tensor

memory_profiler的使用

python 内存监控模块之memory_profiler

Python 使用objgraph 定位内存泄露

排查pyth.]]></description><category></category></item><item><title><![CDATA[Ubuntu+pip+Pycharm配置PyQt5_sip+PyQt5+pyqt5_tools流程以及版本对应问题]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105958535</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105958535</guid><author>No__names</author><pubDate>Wed, 06 May 2020 21:13:34 +0800</pubDate><description><![CDATA[1.三者版本对应要求

PyQt5_sip、PyQt5、pyqt5_tools的版本必须要有所对应，否则将出现问题。

１）首先PyQt5是需要sip作为依赖的，使用PyQt5需要安装版本符合要求的sip，如下图所示：



可以看到PyQt5-5.14.2需要&lt;13, &gt;=12.7版本的PyQt5-sip，若安装其他版本的PyQt5，也可以在安装时查看所要求的PyQt5-sip版本...]]></description><category></category></item><item><title><![CDATA[LeetCode贪心-11盛最多水的容器]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105605874</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105605874</guid><author>No__names</author><pubDate>Sat, 18 Apr 2020 21:36:24 +0800</pubDate><description><![CDATA[题目描述：

给你 n 个非负整数 a1，a2，...，an，每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线，垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线，使得它们与x轴共同构成的容器可以容纳最多的水。

说明：你不能倾斜容器，且n的值至少为 2。



图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下，容...]]></description><category></category></item><item><title><![CDATA[LeetCode数学题-面试题01.07.旋转矩阵]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105369142</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105369142</guid><author>No__names</author><pubDate>Tue, 07 Apr 2020 17:21:05 +0800</pubDate><description><![CDATA[题目描述：

给你一幅由 N × N 矩阵表示的图像，其中每个像素的大小为 4 字节。请你设计一种算法，将图像旋转 90 度。

不占用额外内存空间能否做到？



示例 1:

给定 matrix =
[
 [1,2,3],
 [4,5,6],
 [7,8,9]
],

原地旋转输入矩阵，使其变为:
[
 [7,4,1],
 [8,5,2],
 [9,6,3]
]
示例 2:

...]]></description><category></category></item><item><title><![CDATA[LeetCode动态规划-72编辑距离]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105346777</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105346777</guid><author>No__names</author><pubDate>Mon, 06 Apr 2020 17:03:21 +0800</pubDate><description><![CDATA[题目描述：

给你两个单词word1 和word2，请你计算出将word1转换成word2 所使用的最少操作数。

你可以对一个单词进行如下三种操作：

插入一个字符
删除一个字符
替换一个字符


示例1：

输入：word1 = "horse", word2 = "ros"
输出：3
解释：
horse -&gt; rorse (将 'h' 替换为 'r')
rorse -&g...]]></description><category></category></item><item><title><![CDATA[LeetCode栈-1111有效括号的嵌套深度]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105276030</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105276030</guid><author>No__names</author><pubDate>Thu, 02 Apr 2020 18:42:37 +0800</pubDate><description><![CDATA[题目描述：

有效括号字符串 定义：对于每个左括号，都能找到与之对应的右括号，反之亦然。详情参见题末「有效括号字符串」部分。

嵌套深度 depth 定义：即有效括号字符串嵌套的层数，depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。

有效括号字符串类型与对应的嵌套深度计算方法如下图所示：



给你一个「有效括号字符串」 seq，请你将其分成两个不相交的有效括...]]></description><category></category></item><item><title><![CDATA[LeetCode-289生命游戏]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105275912</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105275912</guid><author>No__names</author><pubDate>Thu, 02 Apr 2020 18:11:20 +0800</pubDate><description><![CDATA[题目描述：

根据百度百科，生命游戏，简称为生命，是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。

给定一个包含 m × n 个格子的面板，每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态：1 即为活细胞（live），或 0 即为死细胞（dead）。每个细胞与其八个相邻位置（水平，垂直，对角线）的细胞都遵循以下四条生存定律：

如果活细胞周围八个位置的活细胞数少于两个...]]></description><category></category></item><item><title><![CDATA[LeetCode数学题-面试题62圆圈中最后剩下的数字]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105201957</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105201957</guid><author>No__names</author><pubDate>Mon, 30 Mar 2020 16:26:47 +0800</pubDate><description><![CDATA[题目描述：

0,1,,n-1这n个数字排成一个圆圈，从数字0开始，每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。

例如，0、1、2、3、4这5个数字组成一个圆圈，从数字0开始每次删除第3个数字，则删除的前4个数字依次是2、0、4、1，因此最后剩下的数字是3。



示例 1：

输入: n = 5, m = 3
输出:3
示例 2：

输入: n = 10, m = 1...]]></description><category></category></item><item><title><![CDATA[LeetCode广度优先搜索BFS-1162地图分析]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105182212</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105182212</guid><author>No__names</author><pubDate>Sun, 29 Mar 2020 17:27:55 +0800</pubDate><description><![CDATA[题目描述：

你现在手里有一份大小为N x N 的『地图』（网格）grid，上面的每个『区域』（单元格）都用0和1标记好了。其中0代表海洋，1代表陆地，你知道距离陆地区域最远的海洋区域是是哪一个吗？请返回该海洋区域到离它最近的陆地区域的距离。

我们这里说的距离是『曼哈顿距离』（Manhattan Distance）：(x0, y0) 和(x1, y1)这两个区域之间的距离...]]></description><category></category></item><item><title><![CDATA[LeetCode字典树-820单词的压缩编码]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105156765</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105156765</guid><author>No__names</author><pubDate>Sat, 28 Mar 2020 11:13:34 +0800</pubDate><description><![CDATA[题目描述：

给定一个单词列表，我们将这个列表编码成一个索引字符串S与一个索引列表 A。

例如，如果这个列表是 ["time", "me", "bell"]，我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。

对于每一个索引，我们可以通过从字符串 S中索引的位置开始读取字符串，直到 "#" 结束，来恢复我们之前的单词列表。

那么成功对给...]]></description><category></category></item><item><title><![CDATA[LeetCode数学题-914卡牌分组]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105134674</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105134674</guid><author>No__names</author><pubDate>Fri, 27 Mar 2020 11:17:45 +0800</pubDate><description><![CDATA[题目描述：

给定一副牌，每张牌上都写着一个整数。

此时，你需要选定一个数字 X，使我们可以将整副牌按下述规则分成 1 组或更多组：

每组都有X张牌。
组内所有的牌上都写着相同的整数。
仅当你可选的 X &gt;= 2 时返回true。



示例 1：

输入：[1,2,3,4,4,3,2,1]
输出：true
解释：可行的分组是 [1,1]，[2,2]，[3,3]，[4,4]
示例...]]></description><category></category></item><item><title><![CDATA[LeetCode数学题-892三维形体的表面积]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105105784</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105105784</guid><author>No__names</author><pubDate>Wed, 25 Mar 2020 22:12:26 +0800</pubDate><description><![CDATA[题目描述：

在N*N的网格上，我们放置一些1 * 1 * 1的立方体。

每个值v = grid[i][j]表示v个正方体叠放在对应单元格(i, j)上。

请你返回最终形体的表面积。



示例 1：

输入：[[2]]
输出：10
示例 2：

输入：[[1,2],[3,4]]
输出：34
示例 3：

输入：[[1,0],[0,2]]
输出：16
示例 4：

...]]></description><category></category></item><item><title><![CDATA[LeetCode动态规划-面试题17.16按摩师]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105069332</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105069332</guid><author>No__names</author><pubDate>Tue, 24 Mar 2020 13:03:20 +0800</pubDate><description><![CDATA[题目描述：

一个有名的按摩师会收到源源不断的预约请求，每个预约都可以选择接或不接。在每次预约服务之间要有休息时间，因此她不能接受相邻的预约。给定一个预约请求序列，替按摩师找到最优的预约集合（总预约时间最长），返回总的分钟数。

注意：本题相对原题稍作改动



示例 1：

输入： [1,2,3,1]
输出： 4
解释： 选择 1 号预约和 3 号预约，总时长 = 1 + 3 = 4。
示例 ...]]></description><category></category></item><item><title><![CDATA[LeetCode链表-876链表的中间节点]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105052850</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105052850</guid><author>No__names</author><pubDate>Mon, 23 Mar 2020 17:21:14 +0800</pubDate><description><![CDATA[题目描述：

给定一个带有头结点head的非空单链表，返回链表的中间结点。

如果有两个中间结点，则返回第二个中间结点。



示例 1：

输入：[1,2,3,4,5]
输出：此列表中的结点 3 (序列化形式：[3,4,5])
返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。
注意，我们返回了一个 ListNode 类型的对象 ans，这样：
ans.val = ...]]></description><category></category></item><item><title><![CDATA[LeetCode数学题-945使数组唯一的最小增量]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/105030550</link><guid>https://blog.youkuaiyun.com/No__names/article/details/105030550</guid><author>No__names</author><pubDate>Sun, 22 Mar 2020 16:56:43 +0800</pubDate><description><![CDATA[题目描述：

给定整数数组 A，每次 move 操作将会选择任意A[i]，并将其递增1。

返回使 A中的每个值都是唯一的最少操作次数。

示例 1:

输入：[1,2,2]
输出：1
解释：经过一次 move 操作，数组将变为 [1, 2, 3]。
示例 2:

输入：[3,2,1,2,1,7]
输出：6
解释：经过 6 次 move 操作，数组将变为 [3, 4, 1, 2, 5, 7]...]]></description><category></category></item><item><title><![CDATA[LeetCode动态规划-300最长上升子序列]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/104933481</link><guid>https://blog.youkuaiyun.com/No__names/article/details/104933481</guid><author>No__names</author><pubDate>Sun, 22 Mar 2020 16:46:09 +0800</pubDate><description><![CDATA[题目描述：

给定一个无序的整数数组，找到其中最长上升子序列的长度。

示例:

输入: [10,9,2,5,3,7,101,18]
输出: 4
解释: 最长的上升子序列是[2,3,7,101]，它的长度是 4。
说明:

可能会有多种最长上升子序列的组合，你只需要输出对应的长度即可。
你算法的时间复杂度应该为O(n2) 。
进阶: 你能将算法的时间复杂度降低到O(n log n) 吗?
...]]></description><category></category></item><item><title><![CDATA[LeetCode堆-面试题40最小的k个数]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/104997975</link><guid>https://blog.youkuaiyun.com/No__names/article/details/104997975</guid><author>No__names</author><pubDate>Fri, 20 Mar 2020 20:36:54 +0800</pubDate><description><![CDATA[题目描述：

输入整数数组arr，找出其中最小的k个数。例如，输入4、5、1、6、2、7、3、8这8个数字，则最小的4个数字是1、2、3、4。



示例 1：


输入：arr = [3,2,1], k = 2
输出：[1,2] 或者 [2,1]


示例 2：


输入：arr = [0,1,2,1], k = 1
输出：[0]



限制：

0 &lt;= k &lt;= ar...]]></description><category></category></item><item><title><![CDATA[LeetCode哈希表-409最长回文串]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/104963266</link><guid>https://blog.youkuaiyun.com/No__names/article/details/104963266</guid><author>No__names</author><pubDate>Thu, 19 Mar 2020 11:18:22 +0800</pubDate><description><![CDATA[题目描述：

给定一个包含大写字母和小写字母的字符串，找到通过这些字母构造成的最长的回文串。

在构造过程中，请注意区分大小写。比如"Aa"不能当做一个回文字符串。

注意:
假设字符串的长度不会超过 1010。

示例 1:


输入:
"abccccdd"

输出:
7

解释:
我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。



参考代码：


int longe...]]></description><category></category></item><item><title><![CDATA[LeetCode数学题-836矩形重叠]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/104939973</link><guid>https://blog.youkuaiyun.com/No__names/article/details/104939973</guid><author>No__names</author><pubDate>Wed, 18 Mar 2020 11:02:39 +0800</pubDate><description><![CDATA[题目描述：

矩形以列表 [x1, y1, x2, y2] 的形式表示，其中 (x1, y1) 为左下角的坐标，(x2, y2) 是右上角的坐标。

如果相交的面积为正，则称两矩形重叠。需要明确的是，只在角或边接触的两个矩形不构成重叠。

给出两个矩形，判断它们是否重叠并返回结果。

示例 1：

输入：rec1 = [0,0,2,2], rec2 = [1,1,3,3]
输出：true
示例 2...]]></description><category></category></item><item><title><![CDATA[LeetCode哈希表-1160拼写单词]]></title><link>https://blog.youkuaiyun.com/No__names/article/details/104919116</link><guid>https://blog.youkuaiyun.com/No__names/article/details/104919116</guid><author>No__names</author><pubDate>Tue, 17 Mar 2020 12:27:07 +0800</pubDate><description><![CDATA[题目描述：

给你一份『词汇表』（字符串数组）words和一张『字母表』（字符串）chars。

假如你可以用chars中的『字母』（字符）拼写出 words中的某个『单词』（字符串），那么我们就认为你掌握了这个单词。

注意：每次拼写时，chars 中的每个字母都只能用一次。

返回词汇表words中你掌握的所有单词的 长度之和。



示例 1：

输入：words = ["...]]></description><category></category></item></channel></rss>