- 博客(118)
- 资源 (6)
- 收藏
- 关注
原创 从代码的角度看Pointer-Generator Networks【上】
这篇blog post记录了我把代码跑起来的过程中所遇到的10个BUG...
2022-10-17 10:55:01
805
5
原创 【Python小知识】__init__()详解
__init__详解1、__ init __()是什么?2、如何写 __ init __()?1、__ init __()是什么?从形式上看,__ init __()是一个函数。事实上,它是一个特殊的函数——构造函数,学过C或Java的应该都知道构造函数,没学过也没关系,构造函数相当于是对类中成员的一个初始化,且写法固定。2、如何写 __ init __()?__ init __()是Python中类里面的构造函数,因此,写法固定。以一个例子来说明__ init __()的写法:class Enc
2022-05-14 14:56:05
8143
1
原创 【Python小知识】sys.argv[1]
1、sys是什么?sys是python的一个【标准库】,是【system】的简写,封装了一些与系统相关的信息和接口。2、argv是什么?argv是【argument variable】的缩写,意为“参数变量”,这个参数变量是一个List列表。argv[0] 是“被调用脚本文件的相对路径或者绝对路径”,例如:这里的有一个test.py脚本文件:# test.pyimport sysa=sys.argv[0]print(a)它的绝对路径为“F:\PythonCode\test.py”,在控
2022-05-12 17:16:21
13572
原创 【Python3 Debug小能手】UnicodeEncodeError: ‘gbk‘ codec can‘t encode的一些解决方法
1、UnicodeEncodeError: ‘gbk’ codec can’t encode byte 0xa2 in position 872:illegal multibyte sequence发现bug定位到了with open(vocab_file, 'r') as vocab_f:中。解决方法: 指定编码为utf-8,如下:with open(vocab_file, 'r', encoding='utf-8') as vocab_f:2、UnicodeEncodeError: ‘gbk’
2022-03-11 20:42:25
3671
1
原创 对机器学习中的协方差矩阵还是傻傻的搞不清楚?这次我终于捋明白了!
一、数学中协方差矩阵的前世今生1、前世(1)随机变量XXX的2阶中心距:EEE{[X−E(X)]2[X-E(X)]^2[X−E(X)]2}(2)随机变量X和YX和YX和Y的2阶混合中心距:EEE{[X−E(X)][Y−E(Y)][X-E(X)][Y-E(Y)][X−E(X)][Y−E(Y)]}2、今生协方差矩阵由2阶中心距和2阶混合中心距共同定义。(1)二维变量的协方差矩阵设二维随机变量(X1,X2X_1,X_2X1,X2),可得到四个2阶中心距,分别为:c11c_{11}c11=EE
2021-10-15 23:15:01
935
原创 智能计算数学基础——常用不等式
这篇博文介绍了智能计算数学中常用的三个不等式:(1)绝对值不等式,(2)Cauchy(柯西)不等式,(3)算术-几何平均不等式。(2)和(3)含推导。,(3)算术-几何平均不等式3、算术
2021-07-10 22:23:22
589
原创 智能计算数学基础——下降法求解无约束条件优化问题
1、无约束条件优化考虑无约束条件优化问题:minimizex∈Df(x)\underset{x\in D}{minimize} f(x)x∈Dminimizef(x),目标是找到一个x∗x^*x∗,使得∀x∈D,f(x∗)≤f(x)\forall x \in D,f(x^*)≤f(x)∀x∈D,f(x∗)≤f(x)。这里的x∗x^*x∗是f(x)f(x)f(x)的极小值点,也是优化问题的解。一般优化问题是比较难求解的,常采用下降的方法。即,从某一个起始点开始,一点一点地下降,去找x∗x^*x∗,可
2021-07-10 10:16:16
170
原创 智能计算数学基础——回归问题
1、先来个小例子给定一组data:1,2,3,4,5,?猜测5后面的数是多少?想必,我们会猜测是6具体思路是这样的:我们假定这组data服从一个规律,fff,满足f(1)=1,f(2)=2,f(3)=3,f(4)=4,f(5)=5f(1)=1,f(2)=2,f(3)=3,f(4)=4,f(5)=5f(1)=1,f(2)=2,f(3)=3,f(4)=4,f(5)=5这时,从最简单的角度出发,猜测规律fff为:f(x)=xf(x)=xf(x)=x,从而推断f(6)=6f(6)=6f(6)=6。
2021-07-07 22:34:57
233
原创 使用torchvision下载FashionMNIST数据集时,报错HTTPError: HTTP Error 503: Service Unavailable
原因: 服务器不稳定解决方法: 多运行几次,就可能下载成功了。如果实在下载不了,可以这里直接下载数据集:FashionMNIST数据集传送门下载手写数字识别数据集MNIST时,报错503,方法同上。如果实在下载不了,可以这里直接下载数据集:MNIST数据集传送门...
2021-07-04 16:05:51
565
原创 torch.tensor的乘法运算
说明:这里的tensor不涉及高维张量,即为一维张量或二维张量。1、a*b1.1、a和b同行同列张量中各元素对应相乘。a = torch.tensor([[1,2],[2,3],[3,4]])b = torch.tensor([[1,2],[2,3],[3,4]])print(a*b)输出:tensor([[ 1, 4], [ 4, 9], [ 9, 16]])2、torch.mm(a,b)数学中的矩阵相乘。a = torch.tensor.
2021-07-03 15:43:39
1646
原创 pytorch中backward()方法自动求梯度
1、区分源变量和结果变量x = torch.arange(-8.0, 8.0, 0.1, requires_grad= True)y = x.relu()x为源变量,基于源变量x得到的变量y为结果变量。2、如何使用backward()方法自动求梯度一个标量调用它的backward()方法后,会根据链式法则自动计算出源变量的梯度值。2.1、结果变量是一维张量基于以上例子,就是将一维张量y变成标量后,然后通过调用backward()方法,就能自动计算出x的梯度值。那么,如何将一维张量y变成
2021-07-02 18:07:54
2071
原创 torch.arange()和torch.range()的区别
1、最值得注意的区别# torch.arange()x = torch.arange(1.0,6.0)print(x)输出:tensor([1., 2., 3., 4., 5.])# torch.range()y = torch.range(1.0,6.0)print(y)输出:tensor([1., 2., 3., 4., 5., 6.])torch.arange(start=1.0, end=6.0)的结果不包括endtorch.range(start=1.0, end=6.
2021-07-02 16:26:01
1123
原创 《动手学深度学习Pytorch版》中‘d2lzh_pytorch‘模块问题
1、下载d2lzh_pytorchd2lzh_pytorch传送门2、解压,放入python环境里文件路径如下:3、回到代码,运行d2lzh_pytorch模块3.1、错误提示:ModuleNotFoundError: No module named ‘tqdm’直接命令行,pip install tqdm即可安装tqdm模块。3.2、错误提示:ModuleNotFoundError: No module named ‘torchtext’直接命令行,pip install torchte
2021-07-01 17:02:40
1137
原创 论文中的示意图
最好用矢量图。矢量图中保存的是线条和图块的信息。矢量图形文件与分辨率和图像大小无关,只与图像的复杂程度有关,所占的存储空间较小。矢量图与位图最大的区别是,矢量图不受分辨率的影响。因此在印刷时,可以任意放大或缩小图形而不会影响出图的清晰度,可以按最高分辨率显示到输出设备上。画矢量图的软件:一般visio就能满足需求,专业的有corelDRAW和AI(Adobe illustrator)但收费,开源的有inkscape使用visio软件画导出为.emf格式(矢量图形和图像的高质量格式)python
2021-05-28 11:45:14
676
原创 剑指offer58-I:反转单词顺序
剑指offer58-I:反转单词顺序1、题目2、代码2.1、双指针法2.2、分割字符串+倒序连接3、随笔3.1、StringBuilder3.2、s.split()1、题目剑指offer58-I:反转单词顺序输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例1:输入: "the sky is blue"输出: "blue is sky the
2021-05-08 20:07:30
168
原创 剑指offer35:复杂链表的复制
剑指offer35:复杂链表的复制1、题目2、代码3、随笔3.1、测试代码1、题目剑指offer35:复杂链表的复制请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。2、代码使用HashMap。class Solution { public Node copyRandomList(Node head) { //原链表为空
2021-05-07 21:11:45
106
原创 剑指offer52:两个链表的第一个公共节点
剑指offer52:两个链表的第一个公共节点1、题目2、代码3、随笔3.1、测试代码1、题目剑指offer52:两个链表的第一个公共节点输入两个链表,找出它们的第一个公共节点。2、代码class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode A = headA;//指针A,先遍历A链表,再遍历B链表,直到走到第一个公共节点与B指针相遇,
2021-05-02 15:34:32
128
3
原创 剑指offer24:反转链表
剑指offer24:反转链表1、题目2、代码2.1、方案1:迭代(双指针)2.2、方案2:递归(先传递再回溯)3、随笔3.1、测试代码1、题目剑指offer24:反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL2、代码2.1、方案1:迭代(双指针)原链表为 1->2->3->4
2021-04-30 22:54:43
238
1
原创 剑指offer22:链表中倒数第k个节点
剑指offer22:链表中倒数第k个节点1、题目2、代码2.1、方案1:暴力破解2.2、方案2:算法优化3、随笔3.1、测试代码1、题目剑指offer22:链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5
2021-04-29 21:08:59
91
原创 剑指offer18:删除链表的节点
剑指offer18:删除链表的节点1、题目2、代码3、随笔3.1、代码测试结语1、题目剑指offer18:删除链表的节点给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。说明:题目保证链表中节点的值互不相同若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点示例1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数
2021-04-10 23:41:36
111
原创 剑指offer06:从尾到头打印链表
剑指offer06:从尾到头打印链表1、题目2、代码2.1、方案1:递归法2.2、方案2:辅助栈法3、随笔3.1、定义单链表3.2、递归3.3、列表结语1、题目剑指offer06:从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例1:输入:head = [1,3,2]输出:[2,3,1]2、代码2.1、方案1:递归法先走至链表尾端,回溯时依次将节点值加入列表,然后将列表转为数组即可。/** * Definition for singly-l
2021-04-07 23:41:25
164
2
原创 MOA:moa.classifiers-AbstractClassifier.java
MOA:moa.classifiers-AbstractClassifier.java1、顶层结构2、继承的类3、实现的接口4、随笔4.1、Java接口结语1、顶层结构AbstractClassifier抽象类2、继承的类3、实现的接口CapabilitiesHandler接口:检查数据集的合规性Classifier接口:关键接口4、随笔4.1、Java接口public interface Classifier extends Learner<Example<Inst
2021-03-30 21:41:56
231
原创 剑指offer04:二维数组中的查找
剑指offer04:二维数组中的查找1、题目2、代码2.1、方案1:暴力破解2.2、方案2:算法优化3、随笔3.1、复杂度分析结语1、题目04:二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例: matrix = [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6,
2021-03-30 21:37:46
135
原创 剑指offer53-II:0~n-1中缺失的数字
剑指offer53-II:0~n-1中缺失的数字1、题目2、代码2.1、方案1:暴力求解2.2、方案2:算法优化3、随笔3.1、排序数组中的查找问题3.2、复杂度分析结语1、题目53-II:0~n-1中缺失的数字一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。实例1:输入: [0,1,3]输出: 2实例2:输入: [0,1,2,3,4,5,6,7,9]输出: 8
2021-03-29 21:03:19
283
原创 剑指offer53-I:在排序数组中查找数字I
剑指offer53-I:在排序数组中查找数字I1、题目2、代码2.1、方案1:暴力破解2.2、方案2:算法优化3、随笔3.1、排序数组中的查找问题3.2、复杂度分析1、题目53-I:在排序数组中查找数字I统计一个数字在排序数组中出现的次数。示例1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: 02、代码2.1、方案1:暴力破解直接遍历数组,数组元素
2021-03-28 22:41:06
127
原创 java:-source1.5中不支持diamond运算符(请使用-source7或更高版本以启用diamond运算符)
java:-source1.5中不支持diamond运算符1、前言2、问题描述3、问题原因4、解决方法5、后续问题与解决方法结语1、前言 往idea里导入一个现有的项目后,运行时报错。2、问题描述java:-source1.5中不支持diamond运算符(请使用-source7或更高版本以启用diamond运算符)3、问题原因 该项目Modules中的Language level为1.5,版本较低,不支持diamond运算符(<>)。4、解决方法 将该项目Module
2021-03-26 20:29:43
12655
原创 剑指offer29:顺时针打印矩阵
剑指offer29:逆时针打印矩阵1、题目2、代码3、随笔3.1、 二维数组的长度3.2、一个矩阵的行数和列数3.3、直接返回一维空数组结语1、题目29:逆时针打印矩阵输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12
2021-03-26 20:23:36
246
原创 剑指offer03:数组中重复的数字
剑指offer03:数组中重复的数字1、题目2、代码3、随笔3.1、Java类HashSet3.2、遍历数组的元素1、题目03:数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 2、代码使用一个HashSet来辅助。class Solu
2021-03-24 21:06:18
248
1
原创 剑指offer59-1:滑动窗口的最大值
剑指offer59-1:滑动窗口的最大值1、题目2、代码3、随笔4、结语1、题目59-I:滑动窗口的最大值给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7
2021-03-23 23:25:11
179
原创 剑指offer59-Ⅱ: 队列的最大值
剑指offer59-Ⅱ: 队列的最大值题目代码随笔java类Queuejava类Deque时间复杂度分析结语题目59-Ⅱ:队列的最大值请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例1:输入: ["MaxQueue","push_back","push_back","max_value","pop_
2021-03-18 22:50:33
215
原创 剑指offer30: 包含min函数的栈
剑指offer30: 包含min函数的栈1、题目2、代码2.1、方案1:使用两个栈2.1.1、代码优化3、随笔3.1、Stack类的peek()方法3.2、Integer类型的==和equals()3.3、java.lang.NullPointerException错误结语1、题目30:包含min函数的栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数。在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。实例:MinStack minStack
2021-03-16 21:35:19
267
原创 剑指offer09: 用两个栈实现队列
剑指offer09: 用两个栈实现队列1、题目2、代码2.1、方案1:暴力破解2.2、方案2:算法优化3、随笔3.1、创建栈3.2、两个算法的时间复杂度4、结语1、题目09:用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例1:输入:["CQueue","appendTail","deleteHead"
2021-03-16 21:29:39
145
原创 Hexo:在Typora中插图片的正确打开方式
前言 在Typora中插入图片的方式非常简单,只需指定好路径就ok了~步骤1. 建存储图片的文件夹 在Hexo站点中的source目录下,建一个存储图片的文件夹,命名为images2. 配置根目录 在待插图片的md文档头部的配置项中,添加 typora-root-url: …/---title: Hexo:在Typora中插图片的正确打开方式tags: - Hexo - Typoracategories: -- 计算机 - 环境date: 2021-01-31 21:1
2021-02-06 13:35:06
1070
原创 VSCode下进行Markdown环境搭建
前言 集众程序猿所爱的VSCode写起Markdown文档来,风格很酷盖~搭建过程下载VSCode并安装下载VSCode,傻瓜式安装。VSCode里安装插件 在此安装的插件:Markdown All in One: Markdown语言支持。markdownlint: Markdown写作规范。Prettier: 格式错误自动修复。Markdown Preview Enhanced: 将原生Markdown预览的黑色背景改成白色。Markdown Preview Github St
2021-02-06 13:28:38
1142
原创 Hexo:NexT主题个性化配置
背景使用彩带渲染在主题配置文件中,进行如下修改:# Canvas-ribbon# Dependencies: https://github.com/theme-next/theme-next-canvas-ribbon# size: The width of the ribbon.# alpha: The transparency of the ribbon.# zIndex: The display level of the ribbon.canvas_ribbon: enable:
2021-02-06 13:17:33
386
原创 字符串练习之字符串反转(java)
字符串反转的两种方法:(1)将字符串倒着遍历,得到的每一个字符拼接成字符串(2)将字符串转为字符数组,然后对字符数组进行反转,最后将字符数组转为字符串来个示例:package cn.it_06;import java.util.Scanner;/* * 字符串反转 * 举例:键盘录入"abc" * 输出结果"cba" * * 分析: * (1)键盘录入一个字符串 * (2)写方法实现字符串反转 * A:将字符串倒着遍历,得到的每一个字符拼接成字符
2020-11-02 19:44:28
339
原创 weather数据集如何放到NaiveBayesSimple.java上跑?
一、两个明确(1)weather数据集:它是weka里自带的数据集,格式为weather.nominal.arff或weather.numeric.arff,前者表示的是全是名称型属性,后者表示的带有数值型属性。使用的时候,直接在 .\Weka-3-8-4\data路径下调。(2)NaiveBayesSimple.java:顾名思义,它是简单朴素贝叶斯对应的java类,用于实现简单朴素贝叶斯。二、eclipse中导入weka源码步骤如下:(1)打开eclipse,新建一个java project,
2020-11-02 14:09:33
540
2
相机标定时可用的标定板图像集.zip
2020-05-20
俄罗斯方块游戏(Java)
2020-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人