- 博客(159)
- 收藏
- 关注

原创 解决maven工程创建特别慢的问题
在创建maven webapp项目时,会出现卡住的情况,如下图所示。解决方法,以创建webapp为例:选择本地maven点击加号弹出下面的窗口Name输入archetypeCatalog,Value输入internal,点击Finish即可。...
2021-01-30 11:15:41
337
原创 [Latex][BibTex]引用中文文献作者超过3人时用“et al”而不是“等”的解决方法
最近在写大论文,使用的是学校出的Latex模板,生成参考文献时发现了一个问题,如果引用的是中文文献,并且作者人数超过3人时,第4个以及后面的作者用“et al”表示,而不是用“等”表示,如下图:后面查阅模板自带的bst文件,找到了生成参考文献的这么一个函数意思是,bib中参考文献中的“language”这一关键词为空,则用“et~al”;如果不为空,则“等”。所以解决办法就是,在中文参考文献中添加language关键词,如下:...
2022-04-16 15:59:03
14426
4
原创 02. Linux文件管理
目录1. 文件命名规则1.1 可以使用哪些字符?1.2 文件名的长度1.3 Linux文件扩展名2. 文件管理命令2.1 目录创建/删除① mkdir创建目录② 删除目录2.2 文件创建/删除① 创建文件② 删除文件2.3 复制与剪切① 复制操作② 剪切操作③ 重命名操作2.4 tar打包压缩与解压缩① 打包② 打包并压缩(重点)③ 解压1. 文件命名规则1.1 可以使用哪些字符?除了字符“/”之外,所有的字符都可以使用,且linux严格区分大小写,建议文件命名规则:尽量都用小写字母如果必须对
2022-01-01 13:18:41
1366
原创 01. Linux文件目录结构及存放内容(功能)
1. Linux系统的文件目录结构Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录/,所有的文件(资源)都存储在以根目录/为树根的树形目录结构中,如下图所示:在 Linux 根目录/下包含很多的子目录,它们被称为一级目录。例如 bin、boot、dev 等。同时,一级目录下还含有很多子目录,称为二级目录。例如 /bin/bash、/bin/ed 等。2. 路径问题绝对路径:不管当前工作路径是在哪,目标路径都会从/磁盘根下开始。只要看到路径以“/”开
2021-12-25 12:52:01
4083
原创 Python为多个子图设置同一个colorbar
研究了半天才整明白,直接上代码:import matplotlib.pyplot as pltimport numpy as npfig, ax = plt.subplots(2, 3)ax = ax.flatten()np.random.seed(0)for i in range(6): img = np.random.random([7, 7]) im = ax[i].imshow(img)fig.colorbar(im, ax=[ax[i] for i in ran
2021-12-15 20:57:36
10258
1
原创 解决pytorch加载模型报错TypeError: ‘collections.OrderedDict‘ object is not callable
之前训练好了一个网络模型,并把它保存为’Net.pkl’,今天加载的时候出现了错误,加载代码为model = torch.load('Net.pkl')错误信息为:错误原因:之前保存网络时用的方法是torch.save(model, 'Nei.pkl'),这样保存下来的Net.pkl是一个状态字典,而不是模型本身,也就是说Net.pkl中保存的只是网络的参数,而没有网络结构。所以我们应该先载入网络结构,再导入网络的参数,修改后代码如下,其中 BiGRU()是写好的神经网络类。model = Bi
2021-11-24 15:17:41
20059
3
原创 Python中字典的进阶操作
0. 前言在学校搞科研的时候就是用Python做数据分析,所以对其用法也没有深入了解,实习的时候就是用Python搞的开发,当时觉得没什么。但最近看了《Python Cookbook》发现自己当初写的代码太垃圾了,其中原因之一就是对字典不够熟悉、了解的过于片面。现在我就结合《Python Cookbook》中所讲,结合自己的认识讲一讲Python中字典这一数据结构的用法。1. 字典的定义字典是另一种可变容器模型,且可存储任意类型对象。字典是通过名字(key)来引用值(value)的数据结构,并且把这
2021-11-21 13:20:27
1237
原创 tkinter事件绑定方法总结
1. 方法总结tkinter中事件绑定方法可以分为两大类:组件对象的绑定,包含2种方法:通过command属性绑定,适合简单不需要获取event对象的情况,例如:Button(root,text="登录",command=login);通过bind()方法绑定,适合需要获取event对象的情况,例如:l=Label(text="A"); l.bind("<Button-1>",sendMessage);组件类的绑定:通过调用对象的bind_class函数,将该组件类所有的组件绑
2021-10-14 10:10:22
5025
2
原创 1.创建者模式——单例模式
0. 创建者模式在设计模式概述中讲了设计模式主要有三类:创建型模式、结构型模式、行为型模式,如下图所示:创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为:单例模式工厂方法模式抽象工程模式原型模式建造者模式这篇文章主要讲创建者模式中的单例模式。1. 单例设计模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种模式涉及到一个单一的类,
2021-09-11 21:26:17
191
原创 0.设计模式概述
1. 软件设计模式的产生背景"设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichG
2021-09-11 17:26:50
148
原创 Pytorch训练神经网络出错IndexError: Target 10 is out of bounds.
报错信息如下:Traceback (most recent call last): File "F:\Anaconda3\envs\Desktop\lib\site-packages\IPython\core\interactiveshell.py", line 3417, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-2-e94b7ec388b6>", .
2021-09-10 16:09:12
7892
7
原创 CNN中每个通道输入输出关系
如下图所示,input为输入的某个通道,kernel为卷积核,output为卷积后的输出。记输入通道维度为input_size,输出维度为output_size,步长为stride,卷积核维度kernel,padding即为在周边填充0的维度,输入输出之间关系为:output‾size=(input‾size+2∗padding−kernel)/stride+1output\underline{\quad}size = (input\underline{\quad}size+2*padding-kern
2021-09-03 09:34:15
1227
原创 ACM模式下如何处理Java的输入
0. 前言在力扣上刷题的时候不用考虑输入输出的问题,只需要根据所给函数框架写中间逻辑代码,但是很多大厂的笔试都是采用的ACM模式,即函数的输入是从控制台键入的几行数据,而输出是直接将结果打印到控制台。输入调用的是import java.util.Scanner;,注意Scanner是util包下的!!输入的处理也可以说是Scanner的用法,现在将一些常见的输入进行总结。1. 单个输入有的函数输入很简单,就是一个数,或者一个字符串,或者一行数中间用空格隔开,这种输入很简单,处理方法如下。输入是一
2021-09-02 16:29:44
4886
原创 消耗cpu资源的脚本
具体步骤如下:执行以下命令,打开位置,并创建脚本,如下图所示:cd /usr/sz/sudo vim cpu_usage.sh2. 输入脚本内容如下:FILE_NAME=`basename $0`cpunum=$2pid_array=()function usage(){echo "Usage:$FILE_NAME consume cpu_number|release -----the value of cpu_number is an integer,such as 1,2,3
2021-07-23 16:53:13
3325
1
原创 iostat命令介绍
1. 概述iostat主要用于输出磁盘IO和CPU的统计信息,是一个实时监控的命令。2. 用法命令格式:iostat [选项] [时间间隔] [次数]比如:iostat [选项] 1 5,意思是每秒输出5次执行选项的结果。选项参数:-c: 显示CPU使用情况-d: 显示磁盘使用情况-N: 显示磁盘阵列(LVM) 信息-n: 显示NFS 使用情况-k: 以 KB 为单位显示-m: 以 M 为单位显示-t: 报告每秒向终端读取和写入的字符数和CPU的信息-V: 显示版
2021-07-10 21:24:44
665
2
原创 Mac下启动JConsole和Visual VM
打开终端,执行以下命令,查找jdk的安装目录,即执行结果最后一行:/usr/libexec/java_home -V执行以下命令打开该目录,注意我这里安装目录有个空格,所以要在空格前加反斜杠:cd /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home先后执行以下两个命令,进入lib目录,查看所有文件:cd libls发现里面有JConsole和Visual VM,输入以下两个命令即可打开这两个.
2021-07-08 11:36:46
538
原创 Ubuntu18.04开启ssh服务
0. 前言今天用xshell连接Ubuntu18.04出现了一系列问题,记录下来以助后人。1. 开启步骤打开终端,输入以下命令更新源列表sudo apt-get update输入以下命令,安装openssh-clientsudo apt-get install openssh-client输入以下命令,安装openssh-servicesudo apt-get install openssh-service输入以下命令,安装openssh-servicesudo a
2021-06-21 15:20:46
3332
原创 解决虚拟机无法上网的问题(网络配置)
CentOs7网络配置有时候虚拟机会连不上网,或者ping不通主机,需要手动配置一下,具体步骤如下:首先点击编辑–虚拟网络编辑,如下图所示,记住虚拟机ip地址的网段,下图已经框出,表示211网段;打开虚拟机终端,修改配置文件,具体步骤如下:打开配置文件夹:cd /etc/sysconfig/network-scripts输入命令ls,查看配置文件夹下的所有文件,找到文件ifcfg-ens32,有的是ifcfg-ens33通过以下命令编辑该配置文件vi ifcfg-ens32
2021-06-17 16:05:23
1599
1
原创 Docker概念及常用命令
Docker1. docker的简介2. Docker组件2.1 Docker客户端和服务器2.2 Docker镜像2.3 Registry(中央仓库)2.4 Docker容器2.5 docker调用结构3. Docker安装与启动3.1 安装环境说明3.2 虚拟机网络配置3.3 安装Docker3.4 查看Docker版本3.5 启动与停止Docker4. Docker镜像操作4.1 什么是Docker镜像4.2 列出镜像4.3 搜索镜像4.4 拉取镜像(下载镜像)4.4.1 从Docker Hub拉取
2021-06-11 16:04:51
739
1
原创 matplotlib.pyplot保存多张图片覆盖问题
1. 保存单张图片保存单张图片代码如下:# acc是我跑的神经网络的历代准确率plt.plot(acc, 'r')plt.title("Accuracy of LSTM2LSTM")plt.xlabel("epoch")plt.ylabel("accuracy")plt.savefig("accCurve.png") # 保存图片在当前目录下,名字为accCurve.png2. 保存多张图片跑神经网络的时候,我需要保存损失函数下降曲线和准确率上升曲线,如果按1中的代码,两者直接堆叠一起
2021-06-11 10:19:55
5656
4
原创 解决spring.rabbitmq.publisher-confirms报红
错误位置:application.properties配置文件;错误如下所示:错误原因:该配置语句过期了;错误更正,改成新的语句就好了:# 配置开启消息发送确认spring.rabbitmq.publisher-confirm-type=correlated
2021-06-06 19:29:17
1391
1
原创 Pytorch中神经网络学习率衰减方法
1. 为什么要衰减学习率(learning rate, lr)代表梯度下降的步长,与传统智能优化算法(比如粒子群算法)类似,如果搜索步长太大有可能会跳出最优区间,如果搜索步长太小,有可能陷于局部最优值。在神经网络刚开始训练的时候,可以将学习率lr设置的大一点(比如0.01),后面随着训练代数的增加将学习率逐步减小,这样平衡了探索和开发的能力。2. 衰减方法参考pytorch官方文档pytorch官方给我们提供了几个衰减函数:torch.optim.lr_scheduler.StepLR(),torc
2021-05-31 14:44:57
2010
3
原创 解决Pycharm中file size exceeds configured limit问题
错误全部信息:the file size(3.40M) exceeds configured limit(2.56M).Code insight features are not available错误原因:文件太大,超出Pycharm中的限制了解决方案:把Pycharm文件限制调大一点就好了,具体步骤:点击help-Edit Custom Properties,如下所示在弹出的idea.properties文件中添加如下属性,将加载文件大小限制调大一点idea.max.intelli.
2021-05-28 09:29:18
8651
1
原创 解决错误 Bad key “text.kerning_factor“ on line 4 in
错误信息截图如下:错误原因:一个名为"text.kerning_factor"的key失效引起的版本冲突,我的理解是matplotlib旧版本需要的这个key,新版本不需要了;解决方法:根据提示找到这个key并注释掉就可以了,具体步骤如下:打开错误信息中的路径,我这里是F:\Anaconda3\envs\Desktop\Lib\site-packages\matplotlib\mpl-data\stylelib,找到目标文件用记事本打开,注释掉这一行,这样就不会报错了...
2021-05-27 15:06:52
3975
8
原创 解决错误The server time zone value ‘йʱ’ is unrecognized or represents more than one time zone.
错误全文:The server time zone value ‘йʱ’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize .
2021-05-23 18:00:06
654
原创 关于双路快速排序为什么从右侧开始判断
其实我一直不太理解双路快排,直到今天做了LeetCode上的一道题,看partition部分的代码public int partition(int[] nums, int left, int right){ // 选择基准 int stard = nums[left]; int i = left; int j = right; // 循环终止条件 while (i < j){ // 必须从右边开始
2021-05-20 10:52:47
210
原创 (pytoch)神经网络做分类任务时的一些常见错误
1. 错误一 TypeError: expected Long (got Float)错误语句:loss = criterion(outputs, target)错误原因:target类型错误,要求时是Long类型的,给了Float类型的修改后:loss = criterion(outputs, target.long())2. 错误二 RuntimeError: Assertion cur_target 0 cur_target n_classes failed错误全部信息:
2021-05-19 16:03:11
1051
翻译 计算机网络重点体系结构
参考TCP/IP协议体系的认知链路层以太网帧的格式MTU的概念ARP协议和RARP协议(掌握一下ARP缓存的原理)网络层掌握IP的首部格式掌握IP的分片掌握IP选路ICMP协议掌握报文格式分类:查询 + 差错两种 + 五种传输层UDP,次要一点,掌握特点和首部各个字段掌握TCP特点 + 首部字段 + 可靠机制连接控制 : 三次握手,四次挥手,同时打开,同时关闭,半关闭(可能问到为什么需要)流量控制机制:滑动窗口,慢启动,拥塞避免,快速重传,快速恢
2021-05-15 15:49:32
122
原创 计算机网络面试题总结
1. TCP/IP七/五/四层模型应用层:任务是通过应用进程之间的交互,完成特定网络应用,代表协议有:DNS协议,HTTP协议 ;运输层:对应用层提供网络连接中的两台计算机之间的数据传输服务,代表协议:TCP,UDP;网络层:当两台计算机需要通信时,中间可能会经过多台计算机或者网络设备,网络层的作用就是在众多选项内选择一条合适的传输路线,协议IP协议;数据链路层:将网络层交下来的数据报组装成帧,在两个相邻结点间的链路上实现帧的无差别传输,例如ARQ协议;物理层:实现计算机节
2021-05-05 21:35:32
579
1
原创 Java集合面试题总结
1. Java的集合有哪些?主要有两大类集合都继承自Iterable接口,分别是Collection与Map。其中Collection下又分为List和Set两个接口,List有序可以重复,Set无序不可重复;List的具体实现类有:ArrayList,LinkedList,Vector;Set的具体实现类有:HashSet,TreeSet;Map接口主要有三个实现类:HashMap,HashTable(线程安全),TreeMap使不安全的集合线程安全:Collections.synchron
2021-05-05 21:14:26
190
原创 JVM高频面试题总结
该总结主要参考了《JavaGuide》,《深入理解Java虚拟机》,我之前的博客,如有错误,请在评论区留言,非常感谢!1. Jvm运行时内存程序计数器:字节码解释器通过改变计数器的值来选取下一条要执行的指令,程序流程控制都依赖于程序计数器;在多线程的时候,程序计数器记录当前线程位置,当线程切换回来的时候能够知道上次执行到哪。虚拟机栈:存放栈帧,栈帧包括局部变量表、操作数栈、方法出口信息等。局部变量表主要存放了各种数据类型和对象引用。虚拟机栈会报两个错误StackOverFlowError 和
2021-04-30 09:15:56
268
2
原创 Java中length和length()的区别
刷题的时候遇到了这个小问题,觉得有必要记录下来。length不是方法,是属性,数组的属性,用于统计数组的长度;length()是方法,字符串String类的一个方法,用于统计字符串的长度;size()是集合泛型的方法,用于统计集合中元素的数量。总结:只要是方法就带括号,是属性就不用带,和调用我们自己构造的类是一样的。...
2021-04-06 08:40:24
438
原创 二分查找重难点总结(边界条件、循环条件、mid计算方法等)
1. 二分查找易错点总结二分查找中有三个点需要特别注意:搜索范围的左右边界,即left = 0还是left = -1,right = nums.lengh-1 还是right = nums.lengh;搜索停止(循环结束)的条件,即while(left < right)与while(left <= right)的选择问题;搜索时中间值能否加入左/右边界,即right = mid 还是right = mid-1,left = mid还是left = mid+1;mid怎么计算,即mid
2021-03-28 10:43:42
5667
7
原创 LeetCode148. 排序链表
1. 题目要求给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表。进阶要求:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?2. 解题思路题目要求时间复杂度分别为O(nlogn),根据时间复杂度自然想到二分法,从而联想到归并排序;归并排序具体实现可参考我之前的博客,这里可以用一张图表示归并的过程。解题思路主要分3步:首先找到链表的中点;然后递归对左右两侧排序;最后将排序好的链表进行合并。注意:由于这里是对链表进行归并排
2021-03-25 14:30:03
98
原创 (吐血整理)一文讲懂Seq2Seq(Attention)模型原理及在Pyorch中的实现
目录0. 前言1. 模型总体结构2. 模型具体流程分析3. 数据集说明4. Pytorch中循环神经网络API5. Encoder层5.1 原理分析5.2 Pytorch模块分析5.3 示例代码6. Attention层6.1 原理分析6.2 示例代码7. Decoder层7.1 原理分析7.2 示例代码8. Seq2Seq层8.1 原理分析8.2 示例代码0. 前言看了整整一周的Seq2Seq(Attention)模型才有点明白,参考B站一位很厉害的up主讲解,视频,但是他的视频和代码有一些错误,经过
2021-03-19 17:18:14
13020
6
原创 剑指offer68-1(LeetCode235题)二叉搜索树的最近公共祖先
0. 题目来源来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree1. 题目描述问题:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。例如:给定如下二叉搜索
2021-03-11 10:40:46
159
原创 解决Caused by: java.nio.charset.MalformedInputException: Input length = 1
application.yml文件如下:错误信息如下:java.lang.IllegalStateException: Failed to load property source from 'file:/F:/java/SpringCloud/provider-service/target/classes/application.yml' (classpath:/application.yml) at org.springframework.boot.context.config.Config.
2021-03-10 10:03:50
2985
2
原创 解决@EnableEurekaServer导入失败,一直爆红
原因:SpringBoot与SpringCloud 版本不一致解决方法:参考我另一篇博客
2021-03-09 11:51:26
1748
原创 SpringBoot整合SpringCloud pom依赖错误问题
SpringBoot整合SpringCloud时pom文件一直爆红,根本原因是SpringBoot和SpringCloud版本没有一一对应。许多小伙伴学习的时候都是跟着网上的视频学的,pom中的坐标也是直接复制的,这就导致了一个问题:网上的视频都是用到老版本的SpringBoot和对应的老版本SpringCloud,而我们用IDEA客户端创建Spring项目时默认的SpringBoot版本都是最新的,最新的SpringBoot对应复制的老版本的pom坐标肯定会出错。排错的核心思想是让SpringBoo.
2021-03-09 11:41:57
2701
原创 解决GitHub下载速度过慢的问题(超简单)
我们常在GitHub上找感兴趣的代码或资料,找到后直接用命令git clone XXX下载速度非常慢(在国内)。其实国内也有类似GitHub的平台,那就是码云,所以我们可以现将GitHub中的代码转存到自己的码云仓库中,然后下载码云仓库中的代码,这样速度就不受限制了。具体步骤如下:在GitHub中找到需要下载的项目,复制克隆地址;打开码云,登录账号,点击最右上角的加号,选择最后一项;粘贴刚刚复制的GitHub地址,并点击最下方导入;在自己仓库中找到该项目,并点击克隆-复制地址;打开想
2021-03-06 09:44:03
2977
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人