自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (1)
  • 收藏
  • 关注

原创 数字图像处理-第四章:频率域滤波

多数图像滤波例子是处理图像增强问题。

2020-05-22 18:34:11 700

原创 Python Flask Web 高并发实现

Flask超高并发,Flask多进程gevent ,Flask非gunicorn gevent多进程1. flask + gevent + multiprocess + wsgi简介常常大家都是用gunicorn来解决flask后端部署并发的问题, 然而觉得自启多进程是为更优雅的高并发方式。这样就不需要gunicorn了。也没有额外的第三方部署工作,于是有了以下flask + gevent + multiprocess + wsgi的测试2. flask + gevent + multiprocess

2021-07-30 17:50:12 8245 6

原创 MySQL --- Docker配置

基本步骤1. Pull dockerdocker pull mysql/mysql-server:version 2. Run imagedocker run --name your_name -v /local_path:/container_path -p 33061:3306 -e MYSQL_ROOT_PASSWORD=123321 -d mysql/mysql-server:version -p 3306代表容器内部mysql服务的端口好3. exec dockerdocker

2021-06-29 11:03:20 137

原创 序列生成算法 --- Beam Search

最近研究了一下用基于BERT的encoder-decoder结构做文本生成任务,碰巧管老师昨天的文章也介绍了以生成任务见长的GPT模型,于是决定用两篇文章大家介绍一下在文本生成任务中常用的解码策略Beam Search(集束搜索)。解码及贪心搜索生成式任务相比普通的分类、tagging等NLP任务会复杂不少。在生成的时候,模型的输出是一个时间步一个时间步依次获得的,而且前面时间步的结果还会影响后面时间步的结果。也就是说,每一个时间步,模型给出的都是基于历史生成结果的条件概率。为了生成完整的句子,需要一个

2021-03-26 10:06:46 2009

原创 PyCharm连接Docker容器内部Python解析器和Jupyter

1.启动容器nvidia-docker run -p 23:22 -it -d --name="容器名称" -v "主机共享路径":"容器映射路径" 镜像名称 /bin/bash必须对主机22端口做映射,牵扯到是否可以最后连接容器2.进入容器docker exec -it "容器名称" /bin/bash3.更新容器的apt源,安装sshapt-get updateapt-get install openssh-serverapt-get install vim4.使用v

2021-03-11 19:07:20 1507

原创 LeetCode-316. 去除重复字母

给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(即要求保持原有顺序基础上,每个位置字符排序最小)(要求不能打乱其他字符的相对位置)。注意:该题与 1081 https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters 相同示例 1:输入:s = "bcabc"输出:"abc"示例 2:输入:s = "cbacdcbc"输出:"acdb"提示:

2021-02-24 18:32:24 692

原创 序列生成(sequence generate)架构

序列生成架构:decoder模型:1.1 模型架构图:1.2 数据流:数据形式:使用历史token序列预测当前时刻 t 下一个时刻 t+1 时刻。训练数据形式:假设有一段token序列X,那么input_sequence = X[:-1],lable_sequence = X[1:],原则就是使用当前时刻的历史hidden state info和当前token作为模型(模型可是RNN或transformer)的输入,预测下一时刻的输出token,如图中一个子模块。预测数据形式:初始token

2020-09-22 11:39:33 2558

原创 LeetCode-剑指 Offer 35. 复杂链表的复制

请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]示例 2:输入:head = [[1,1],[2,1]]输出:[[1,1],[2,1]]示例 3:输入:head

2020-06-28 18:49:57 178

原创 LSTM:从原理理解开始使用pytorch构建网络

这是一个造轮子的过程,但是从头构建LSTM能够使我们对体系结构进行更加了解,并将我们的研究带入下一个层次。LSTM单元是递归神经网络深度学习研究领域中最有趣的结构之一:它不仅使模型能够从长序列中学习,而且还为长、短期记忆创建了一个数值抽象,可以在需要时相互替换。在这篇文章中,我们不仅将介绍LSTM单元的体系结构,还将通过PyTorch手工实现它。最后但最不重要的是,我们将展示如何对我们的实现做一些小的调整,以实现一些新的想法,这些想法确实出现在LSTM研究领域,如peephole。LSTM体系结

2020-06-27 09:44:01 937

原创 LeetCode-剑指 Offer 52. 两个链表的第一个公共节点

输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1

2020-06-24 14:18:37 154

原创 LeetCode-剑指 Offer(Linked List) 24. 反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000题源链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof解题思路:双指针定义两个指针: pre 和 cur ;pre 在前 cur 在后。

2020-06-23 19:04:03 144

原创 MDDR:Multimodal Dialogue Dense Retriever模型

MDDR:能够实现文本或图片两种模态多轮对话的检索,通过对海量多模态历史交互信息的检索召回与排序,实现对当前问题的应答。模型结构见下图。模型子模块:闲聊分类模块:针对多轮对话场景,判断当前用户问题是否含有充足的业务信息。在对话过程中,系统会使用该模块对用户问题进行判断,如果当前信息不足以进行有意义的应答,则系统会加上上一轮的用户问题,进行检索召回。该模块示例使用fasttext模型实现,并随机挑选了2200条此次比赛训练集中出现的数据进行标注,其中标签**"1"表示该问题是缺乏业务知识的闲聊**,

2020-06-23 16:30:36 659

原创 LeetCode(剑指offer-Linked List)-剑指 Offer 22. 链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.题源链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-di

2020-06-22 19:05:08 115

原创 LeetCode(剑指offer-Linked List)-面试题18. 删除链表的节点

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该

2020-06-19 15:05:16 177

原创 LeetCode(剑指offer-hash table)-面试题50. 第一个只出现一次的字符

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = "abaccdeff"返回 "b"s = "" 返回 " "限制:0 <= s 的长度 <= 50000题源链接:https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof解题思路:hash map(key vale)class Solution: def firstU

2020-06-18 14:32:49 220

原创 LeetCode(剑指offfer-hash table)-面试题48. 最长不含重复字符的子字符串

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列

2020-06-17 13:51:00 173

原创 LeetCode(剑指offer-Array)-面试题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限制:1 <= 数组长度 <= 10000题源链接:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof解题思路:二分法class Sol

2020-06-15 14:36:45 444

原创 yolo-yolo v1损失函数理解

Loss函数Yolo里的每个格点,是怎么知道该预测哪个物体的?这就是神经网络算法的能力。首先拿到一批标注好的图片数据集,按照规则打好标签,之后让神经网络去拟合训练数据集。训练数据集中的标签是通过人工标注获得,当神经网络对数据集拟合的足够好时,那么就相当于神经网络具备了一定的和人一样的识别能力。神经网络结构确定之后,训练效果好坏,由Loss函数和优化器决定。Yolo v1使用普通的梯度下降法作为优化器。这里重点解读一下Yolo v1使用的Loss函数:预测框的中心点(x, y) 。造成的损失(即对损失

2020-06-12 22:49:34 8842 24

原创 LeetCode(剑指offer-Array)-面试题53 - I. 在排序数组中查找数字 I

统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000链接:https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof解题思路class Solution {p

2020-06-12 11:41:14 822

原创 LeetCode(剑指offer-Array)-面试题04. 二维数组中的查找

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target = 5,返回 true

2020-06-11 12:08:18 170

原创 LeetCode(剑指offer-Array)-面试题03. 数组中重复的数字

找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000题源链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof使用ha

2020-06-10 10:23:11 224

原创 LeetCode-面试题46. 把数字翻译成字符串

给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"提示:0 <= num < 231题源链接:https://leetcode-cn.com/pro

2020-06-09 10:37:12 128

原创 LeetCode(剑指offer-Recursion)-面试题16. 数值的整数次方

实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符

2020-06-08 11:55:51 132

原创 LeetCode-面试题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,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].length <= 100

2020-06-05 13:54:16 132

原创 LeetCode-238. 除自身以外数组的乘积

给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组

2020-06-04 15:25:07 116

原创 LeetCode(剑指offer-Recursion)-面试题10- II. 青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21提示:0 <= n <= 100题源链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcofclass Solution

2020-06-04 11:42:57 153

原创 LeetCode(剑指offer-Recursion)-面试题10- I. 斐波那契数列

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5提示:0 &lt

2020-06-03 19:25:28 110

原创 LeetCode(剑指offer)-面试题64. 求1+2+…+n

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000题源链接:https://leetcode-cn.com/problems/qiu-12n-lcof解题思路:class Solution {public: int sumNums(int n) {

2020-06-02 19:16:10 132

原创 LeetCode(剑指offer-design)-面试题30. 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回 0.min

2020-06-01 18:25:32 177

原创 LeetCode(剑指offer-tree)-面试题37. 序列化二叉树(层序遍历 BFS ,清晰图解)

请实现两个函数,分别用来序列化和反序列化二叉树。示例:你可以将以下二叉树: 1 / \ 2 3 / \ 4 5序列化为 "[1,2,3,null,null,4,5]"题源链接:https://leetcode-cn.com/problems/xu-lie-hua-er-cha-shu-lcof/** * Definition for a binary tree node. * struct TreeNode { * int val;

2020-05-28 17:20:07 174 1

原创 数字图像处理-总览

数字图像处理(digital image processing)思维导图:数字图像处理的基本步骤:图像处理的主要两个类别:1. 输入和输出都是图像;2. 输入可能是图像但是输出是从这些图像中提取的属性。具体步骤流程图如下:图像获取:图像获取与给出一幅数字形成的图像一样简单,通常,图像获取阶段包括图像预处理,例如图像缩放。图像增强:是对一幅图像进行某种操作,使其结果在特定应用中比原始图像更适合进行处理。特定一词在这里很重要,以为一开始增强技术就建立在面向问题的基础之上。没有图像增强的通用“理论”。

2020-05-26 15:29:55 1687 1

原创 LeetCode(剑指offer-tree)-面试题68 - II. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 和节点 1

2020-05-25 19:09:07 246 1

原创 LeetCode-146. LRU缓存机制

运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥已经存在,则变更其数据值;如果密钥不存在,则插入该组「密钥/数据值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进阶:你是否可以在 O(1) 时

2020-05-25 18:57:43 333

原创 LeetCode(剑指offer-tree)-面试题68 - I. 二叉搜索树的最近公共祖先

给定一个二叉搜索树(中序遍历为有序数组), 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6

2020-05-25 13:31:12 308

原创 LeetCode(剑指offer-tree)-面试题55 - II. 平衡二叉树

输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3 / \ 4 4返回 f

2020-05-22 16:26:44 151

原创 LeetCode(剑指offer-tree)-面试题55 - I. 二叉树的深度

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。提示:节点总数 <= 10000链接:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof树的遍历方式总体分为两类:深度优

2020-05-21 15:03:39 208

原创 LeetCode(剑指offer-tree)-面试题54. 二叉搜索树的第k大节点

给定一棵二叉搜索树,请找出其中第k大的节点。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1输出: 4限制:1 ≤ k ≤ 二叉搜索树元素个数题源链接:https://leetcode-cn.com

2020-05-20 14:19:23 180

原创 LeetCode(剑指offer-tree)-面试题34. 二叉树中和为某一值的路径

输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,4,11,2], [5,8,4,5]]提示:节点总数 <= 1000

2020-05-19 13:55:20 117

原创 LeetCode(剑指offer-tree)-面试题32 - III. 从上到下打印二叉树 III

请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]]提示:节点总数 <= 1000题源链接:https://leetcode-cn.com/problems/co

2020-05-18 13:28:09 232

原创 LeetCode(剑指offer-tree)-面试题32 - II. 从上到下打印二叉树 II

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]] 提示:节点总数 <= 1000题源链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-

2020-05-18 11:36:54 243

deeping leraning Softmax

深度学习资料softMax def variable_summaries(var): with tf.name_scope('summaries'): mean = tf.reduce_mean(var) tf.summary.scalar('mean', mean) with tf.name_scope('stddev'): stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean))) tf.summary.scalar('stddev', stddev) tf.summary.scalar('max', tf.reduce_max(var)) tf.summary.scalar('min', tf.reduce_min(var)) tf.summary.histogram('histogram', var)

2018-05-18

空空如也

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

TA关注的人

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