自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python中调用Java方法

简介如何在Python中调用Java中各种形式(如出现在class文件/jar文件)的类和方法?jpype包帮助我们实现了这一需求只需要给定JVM和jar包路径,同时对Java中的类进行封装,随后就可以像在Python中一样调用类的各项函数了项目地址:jpype安装pip install jpype1实例import jpype// 系统jre路径,用于调用jvmjvmPath = jpype.getDefaultJVMPath()// 启动jvm,可以传递各种参数,这里导入了一个用于

2020-11-18 20:48:32 270

原创 LeetCode-加油站

题意即有一个无限油箱的小车在很长的一段环路上行驶,途中有加油站,加油站可以补给一次汽油,小车刚开始没有油,可以任意选择某个加油站作为出生点,问小车在哪个点能够绕环路一圈?若存在,请给出第一个点的位置输入:①加油站储存的汽油数②加油站之间的汽油损耗数输出:第一个可行加油站的位置或不存在,即-1思路如果用暴力解法,可以在O(N2)O(N^2)O(N2)时间复杂度解决,但是可以观察到计算不同出生点的过程中包含一些重复的计算量,因此启发我们可以根据之前点的计算跳过后续某些加油站参考证明证:对于某一个

2020-11-18 10:51:03 310 1

原创 LeetCode-自由之路

题目用游戏场景来介绍题意还挺好玩的视频游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。最初,ring 的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00 方向对齐,然后按下中心按钮,以此逐个拼写完 key 中的所

2020-11-11 11:36:37 243

原创 命名实体识别工具——Stanza

简介Stanza is a collection of accurate and efficient tools for many human languages in one place. Starting from raw text to syntactic analysis and entity recognition, Stanza brings state-of-the-art NLP models to languages of your choosing.重点在于使用pytorch框架构建

2020-11-03 16:49:26 1897

原创 Integer[] 以及 int[] 以及 List<Integer> 之间的转换

注:需要使用java 8的stream特性int[] data = {4, 5, 3, 6, 2, 5, 1}; // int[] 转 List<Integer> List<Integer> list1 = Arrays.stream(data).boxed().collect(Collectors.toList()); // Arrays.stream(arr) 可以替换成IntStream.of(arr)。 // 1.使

2020-11-02 11:22:21 964 1

原创 CAS概念梳理

Compare And Swap它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算,如果该值在同一时间被另一个线程更新,则写入将失败。原子性的保证通过比较操作:如果两者相等,则表示没有其它线程对当前内存的值进行修改,那么此时就可以把新值存入该内存地址中;如果两者不相等,则说明有其他线程在线程Ⅰ执行期间抢先对该内存地址的数据进行了修改,此时线程Ⅰ的执行就算失败了ABA问题假设线程Ⅰ

2020-09-22 17:22:41 278

原创 Java基本知识要点总结

Java基础Java入门Java语法基本数据类型方法(函数)类和对象面向对象三大特征修饰符接口和抽象类其他重要知识点(BigDecimal/Arrays.asList等)集合异常多线程文件与I/O流枚举Java 常见关键字总结:final、static、this、super什么是反射机制?反射机制的应用场景有哪些?参考Java基础知识Java 教程Java8 Lambda表达式详解手册及实例JAVA8 STREAM新特性详解及实战如何在Java中将int []转

2020-09-17 10:59:00 306

转载 多标签损失函数问题

概述一个困扰了很久的问题,二分类、多分类、多标签的问题不详述了二分类多分类多标签损失函数Sigmoid和SoftmaxSoftmax函数得到的值是(0.3, 0.7),代表算法认为”是“的概率是0.7,”否“的概率是0.3,相加为1Sigmoid函数的输出假如是(0.4, 0.8),它们相加不为1,解释是Sigmoid认为输出第一位为1的概率是0.4,第一位不为1的概率是0.6(1-p),第二位为1的概率是0.8,第二位不为1的概率是0.2损失函数的实现PyTor

2020-09-09 17:19:20 968

原创 java多线程实例

用了线程池,实现多线程计数器import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.Map;import java.util.Scanner;impor.

2020-09-08 20:24:12 117

原创 服务端开发知识点总结(2020)

数据结构表数组、单链表、双链表、循环链表、散列表相关LC算法题和常见增删改查操作散列表解决哈希冲突,如拉链法和线性探测法,二次探测法树B树、B+树,字典树Trie,平衡二叉树、红黑树、哈夫曼树、堆相关LC算法题,树的遍历,以及元素的增删改查操作① B树多路平衡查找树结构:排序方式:所有节点关键字是按递增次序排列,并遵循左小右大原则;子节点数:非叶节点的子节点数>1,且<=M ,且M>=2,空树除外(注:M阶代表一个树节点最多有多少个查找路径,M=M路,当M=2则是

2020-08-24 22:24:43 676

原创 知识总结库

计算机网络太难?了解这一篇就够了java后台面试之计算机集锦Golang面试问题汇总操作系统解析MySQL数据库面试题(2020最新版)漫画:什么是单例模式?(整合版)设计模式校招王者(公众号)...

2020-08-18 09:09:56 167

原创 2020秋招总结

B站计算24点 , AC括号有效性 , AC背包问题 写了记忆化递归的,部分AC字节跳动给定前序遍历、中序遍历,求二叉树叶子结点数, 90%AC字符串编码,给定字符串中可能包含0010,求最少的字符去除数,使得字符串中不包含0010, 超内存N个视频插入M个广告,求最长广告间隔时间, 40%ACN个数中以k个一组任意抽取数字,k∈[1,N]k \in [1, N]k∈[1,N],构成数组a,给定正整数M,求所有方式中最大的sum(a)%M,暴力方法没写完...

2020-08-16 12:12:49 498

原创 MySQL回表查询和索引覆盖

MySQL优化:如何避免回表查询?什么是索引覆盖? (转)mysql高效索引之覆盖索引

2020-08-16 09:33:18 156

转载 并发中的select

select的执行顺序select语句不使用default分支时,处于阻塞状态直到其中一个channel的收/发操作准备就绪(或者channel关闭或者缓冲区有值),如果同时有多个channel的收/发操作准备就绪(或者channel关闭)则随机选择其中一个。select语句使用default分支时,处于非阻塞状态,从所有准备就绪(或者channel关闭或者缓冲区有值)的channel中随机选择其中一个,如果没有则执行default分支。严格来讲,select的实现包括两种顺序:一是:轮询顺序(p

2020-08-01 11:11:11 216

原创 八大排序算法

概览快速排序:是目前基于比较的内部排序中最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短算法实现插入排序思想:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录开始逐个进行插入,直至整个序列有序为止时间复杂度:O(N2)O(N^2)O(N2)直接插入排序示例:如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,所以插入排序是稳定的func InsertSort

2020-07-15 22:06:58 345

原创 Pytorch模型(3)——图卷积网络

概述一种用在图结构数据上的网络结构图卷积与卷积的思想类似,卷积网络通过卷积核计算对应点的像素及周边点的像素的加权和;而图卷积是通过邻接矩阵计算对应节点的向量与周边节点的向量的加权和。要计算节点A的Embedding,我们有以下的两条想法:节点A的Embedding,是它的邻接节点B、C、D的Embedding传播的结果而节点B、C、D的Embedding,又是由它们各自的邻接节点的Embedding传播的结果。在构造两层的前提下Layer-0第0层即输入层,为每个节点的初始向量(根据

2020-07-07 21:17:23 3537 1

原创 Pytorch模型(2)——N-gram CNN

概述N-gram CNN在NLP中的应用主要是可以通过N-gram来捕捉局部语义信息,相比于加入了自注意力机制的模型而言,缺陷在于无法捕捉长距离的句子依赖,而且Transformer也可以并行去训练,我们可以将N-gram CNN+max pooling视为一种基于显著性注意力的语义EncoderModelclass CNNEncoder(nn.Module): """ 卷积提取Encoder """ def __init__(self, in_channels, o

2020-07-07 17:22:15 1010

原创 对英文句子中的单词进行词性标注

概述词性标注是许多NLP下游的前置任务,比如我需要一句话以动词进行分割,或者单纯想要将每个词的词性作为一项特征,此时便需要用到词性标注。词性标注的通常做法是基于一个标注语料库进行有监督的训练,通常不同领域的词性标注也不一样,我们介绍两种通用领域的词性标注方法方法NLTK最常用的词性标注方法,但是准确率相对较低text="I am good."result=nltk.pos_tag(nltk.word_tokenize(text))StanfordNLP安装首先安装stanfordcor

2020-07-07 15:15:57 1608

原创 并行统计文件目录总大小

统计一下给定目录下的文件目录大小知识点WaitGroup保证并行结束chan计算共享变量Mutex计算共享变量有缓存的chan控制并行协程数GOMAXPROCS控制并行cpu数方式1package mainimport ( "fmt" "io/ioutil" "os" "path/filepath" "runtime" "sync")var lock sync.Mutexfunc main() { runtime.GO

2020-06-20 00:08:57 147

转载 Pytorch教程(4)——Batch Size & Learning Rate

两个问题深度学习中batch size的大小对训练过程的影响是什么样的?有些时候不可避免地要用超大batch,比如人脸识别,可能每个batch要有几万甚至几十万张人脸图像,训练过程中超大batch有什么优缺点,如何尽可能地避免超大batch带来的负面影响?两个问题的回答batch size的大小影响深度学习训练过程中的完成每个epoch所需的时间和每次迭代(iteration)之间梯度的平滑程度;对于一个大小为N的训练集,如果每个epoch中mini-batch的采样方法采用最常规的N

2020-06-18 20:32:20 9056

转载 Pytorch教程(3)——交叉熵CrossEntropyLoss()

交叉熵的计算公式输入的x的shape为(batch_size, num_class),一般求loss为对batch_size求均值,后进行backward计算公式这里class指的是某一类:不带权重loss(x,class)=−logexp(x[class])Σjexp(x[j])loss(x, class)=-log\frac{exp(x[class])}{\Sigma_{j}exp(x[j])}loss(x,class)=−logΣj​exp(x[j])exp(x[class])​带权重

2020-06-18 20:12:51 641

原创 互斥锁Mutex和读写锁RWMutex区别

互斥锁和读写锁引用一下golang互斥锁和读写锁性能分析中关于互斥锁和读写锁的定义,比较清楚互斥锁1.互斥锁有两种操作,获取锁和释放锁2.当有一个goroutine获取了互斥锁后,任何goroutine都不可以获取互斥锁,只能等待这个goroutine将互斥锁释放3.互斥锁适用于读写操作数量差不多的情况4.读写都可以放入互斥锁中读写锁1.读写锁有四种操作 读上锁 读解锁 写上锁 写解锁2.写锁最多有一个,读锁可以有多个(最大个数据说和CPU个数有关)3.写锁的优先级高于读锁,这是因为为了

2020-06-16 11:02:24 1018

转载 创建自定义函数

如何创建自定义函数及在自定义函数中定义变量和使用控制语句MySql教程(13)–MySQL 自定义函数如何定义MySQL中的多种变量MySQL中变量的定义和变量的赋值使用(转)

2020-06-15 09:20:08 251

原创 SELECT语句中的执行顺序

SELECT语句中的书写顺序SELECT子句→FROM子句→WHERE子句→GROUP BY子句→HAVING子句→ORDER BY子句SELECT语句中的执行顺序FROM子句→WHERE子句→GROUP BY子句→HAVING子句→SELECT子句→ORDER BY子句这也是为什么WHERE和HAVING中不能直接使用列别名的原因解释1.首先WHERE将最原始记录中不满足条件的记录删除(所以应该在WHERE语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数);2.然后通.

2020-06-14 11:53:24 693

原创 MySQL习题集

格式:题号+题名+简单思路+codeLeetCode T627: 交换工资# Write your MySQL query statement belowUPDATE salary SETsex=CASE sexWHEN "m" THEN "f"WHEN "f" THEN "m"END;

2020-06-13 17:38:53 216

转载 CASE语句的一些进阶用法

CASE的形式简单CASECASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END CASE搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 已知数据按照另外一种方式进行分组,分析有如下数据country population中国 600 美国 100 加拿大 100 英国 200 法国

2020-06-13 17:33:56 255

转载 MySQL中的运算对于NULL值的处理

A,B,C作为列名时,任意一项为NULL则A+B+C为NULL;SELECT std_id+NULL FROM temp2;COUNT对于NULL值处理;COUNT(*)包含NULL项;COUNT(具体列名)忽略NULL项;COUNT(NULL)为0AVG,MAX,MIN,SUM对于NULL值处理计算时全部忽略NULL项;对于AVG(NULL),MAX(NULL),MIN(NULL),SUM(NULL)为NULLGROUP BY对于NULL值处理将其单独作为一.

2020-06-13 17:32:40 499

原创 Pytorch模型(1)——Dynamic RNN

RNN基本公式在普通神经网络中引入了隐藏状态ht=tanh(wihxt+bih+whhht−1+bhh)h_t=tanh(w_{ih}x_t+b_{ih}+w_{hh}h_{t-1}+b_{hh})ht​=tanh(wih​xt​+bih​+whh​ht−1​+bhh​)什么是Dynamic RNN静态RNN:由于静态RNN需要预先指定seq_len,所以所有数据都必须使用同一个seq_len,即每一个batch的seq_len是一致的动态RNN:由于利用循环次数实现了seq_len的作用,所以不

2020-06-08 21:51:51 1594

原创 Pytorch教程(2)——常用函数

Torch.norm参考参数:input(Tensor) – 输入张量p(float) – 范数计算中的幂指数值dim(int) – 缩减的维度out(Tensor, optional) – 结果张量keepdim(bool)– 保持输出的维度 (此参数官方文档中未给出,但是很常用)dim指定操作的维度a = torch.tensor([[1, 2, 3, 4], [1, 2, 3, 4]]).float() #norm仅支持floatTensor,a是一个2*4的

2020-06-01 22:10:03 416

转载 Python中的import路径

Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。下面将具体介绍几种常用情况:1.主程序与模块程序在同一目录下:如下面程序结构:– src  |– mod1.py  |– test1.py若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;2.主程序所在目录是模块所在目录的父(或祖辈)目录如下面程序结构:– src|– mod1.py|– mod2  | – mod2

2020-06-01 19:35:08 629

原创 Leetcode(9)——设计

格式:题号+题名+简单思路+codeT146: LRU缓存机制Least Recently UsedO(1)→哈希双链表自己构造双链表type Node struct { key int value int prev *Node next *Node}type BiList struct { head *Node tail *Node}func BuildBiList() BiList { return BiList{ni

2020-06-01 11:11:31 167

原创 Pytorch教程(1)——基本语法

本教程参考自官方教程创建TensorMatrixUninitialized Matrix创建未初始化矩阵时,使用内存值进行初始化x = torch.empty(5, 3)print(x)Out:tensor([[1.0102e-38, 1.0561e-38, 7.3470e-39], [1.0653e-38, 1.0194e-38, 2.9389e-39], [9.0918e-39, 9.6429e-39, 1.0653e-38],

2020-05-27 21:38:13 1009

原创 自然语言处理(DL)学习笔记

本篇是记录深度学习中自然语言处理的一些思想和实践,尚处于整理中CNN网络参考李宏毅2020深度学习课程引出问题卷积运算卷积计算是通过将图像上与filter大小相同的部分(蓝框)与filter做内积后,再把每一个channel上都做同样的运算后相加即得到针对蓝框中部分做卷积的结果;这篇讲的比较详细池化层池化层不包含参数,它的目的是下采样CNN网络整体概览可以看到filter的size一般为(filter_size1, filter_size2, channel_s

2020-05-25 15:15:38 322

原创 MySQL的一些初级记录

问题中文显示Ubuntu中插入时Incorrect string value:问题修改/etc/mysql/my.cnf为utf8编码解决方案

2020-05-20 21:44:33 78

原创 常用数据结构类型(Golang版)

简介Golang中常用的数据类型如切片,哈希表等实现可能不能满足我们的日常需要,如具有有序性的TreeMap等;另外某些数据结构实现起来比较麻烦,如二叉堆Heap等;GoDS实现了各种各样的数据结构及匹配算法GoDS安装git clone https://github.com/emirpasic/gods.gitgods最后应在src相应的github.com目录下根接口type Container interface { Empty() bool Size() int Cle

2020-05-14 11:46:21 1713

原创 go的编译过程实例及go install/compile等命令

问题来源在用go get安装包时提出了一个这样的报错$ go install godscan't load package: package gods: cannot find package "gods" in any of:该报错提示我们不存在go文件;gods目录中确实也不包括go文件;那么这引出了问题,我们为什么要进行go install呢?程序编译的四步如C语言预编译编译汇编: 到这一步由高级语言→汇编语言→机器语言(二进制)→.o文件链接: 将上述翻译后的`.o``文件

2020-05-14 11:26:54 1411

原创 Leetcode(8)——数学相关问题

格式:题号+题名+简单思路+codeT204: 计数质数埃拉托色尼筛选法若一个数是质数,则其从2开始的倍数应该是合数范围可以缩小到i2i^2i2O(nloglogn)时间复杂度(n∗∑PrimeNumber12+13+15+17+...+1maxPrimen*\sum_{PrimeNumber}{\frac{1}{2}+\frac{1}{3}+\frac{1}{5}+\frac{1}{7}+...+\frac{1}{maxPrime}}n∗∑PrimeNumber​21​+31​+51​+

2020-05-12 20:33:37 237

原创 Leetcode(7)——动态规划和贪心算法

格式:题号+题名+简单思路+codeT435: 无重叠区间以最小右端点开始贪心遍历class Solution: def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int: if len(intervals)==0: return 0 s_intervals=sorted(intervals,key=lambda x:x[1]) co

2020-05-11 23:34:38 331

原创 二进制,补码,位运算

补码及转换推荐资源整数在计算机中均以补码形式存在32位有符号整数(int32)取值范围为(−231∼231−1-2^{31} \sim 2^{31}-1−231∼231−1)有符号整数最高位代表符号,0表示正数,1表示负数原码:一个整数按照绝对值的大小转化成二进制的数反码:将二进制数按位取反补码:反码加一负数从真值求补码先求出其原码求其反码反码加一如求-20的补码其原码为00010100;其反码为11101011;其补码为11101100负数从补码求真值补码减一求其

2020-05-11 12:44:13 1440

原创 Leetcode(6)——字符串

格式:题号+题名+简单思路+codeT5: 最长回文子串遍历每一个(i,j)中心的回文子串的长度class Solution: def longestPalindrome(self, s: str) -> str: self.s=s ans="" for i in range(len(s)): s1=self.findPalindrome(i,i) s2=self.findPalind

2020-05-10 00:54:26 136

空空如也

空空如也

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

TA关注的人

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