自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BERT参数量计算

参数详情 说明 参数量 name=bert/embeddings/word_embeddings:0,shape=(30522,768) 单词表每个单词向量长度是768,一共30522个单词 23440896 name=bert/embeddings/token_type_embeddings:0,shape=(2,768) 对于输入的任务是两个句子的,需要两个768维度的向量表示是第一个句子还是第二个句子 1536 name=be...

2022-01-22 19:37:26 1765

原创 leetcode:最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成class Solution { public String longestPalin

2021-12-22 15:16:21 1151

原创 理解AdamW

理解AdamW我们先弄清楚什么是weight decay其实是在损失函数求导后,放在正则项前面的系数,比如L2正则,我们看一下weight decay的位置我们可以认为λ就是weight decaymin⁡wL2(w)=min⁡wf(w)+λ2n∑i=1nwi2L2′(w)=f′(w)+λn∑i=1nwi 我们可以认为\lambda就是weight\ decay\\ \min_wL_2(w)=\min_wf(w)+\frac{\lambda}{2n}\sum_{i=1}^..

2021-11-29 15:23:02 17113 3

原创 L1正则化、L2正则化的多角度分析和概率角度的解释

L1正则化、L2正则化的公式如下min⁡wL1(w)=min⁡wf(w)+λn∑i=1n∣wi∣min⁡wL2(w)=min⁡wf(w)+λ2n∑i=1nwi2\min_wL_1(w)=\min_w f(w)+\frac{\lambda}{n}\sum_{i=1}^n|w_i|\\\min_wL_2(w)=\min_wf(w)+\frac{\lambda}{2n}\sum_{i=1}^nw_i^2wmin​L1​(w)=wmin​f(w)+nλ​i=1∑n​∣wi​∣wmin​L2​(w)=wmin

2021-11-26 18:19:56 1256

原创 如何用FM模型做召回模型

FM怎么用在召回中?极简的模式第一,离线训练。这个过程跟在排序阶段采用FM模型的离线训练过程是一样的,比如可以使用线上收集到的用户点击数据来作为训练数据,线下训练一个完整的FM模型。在召回阶段,我们想要的其实是:每个特征和这个特征对应的训练好的embedding向量。这个可以存好待用。如果将推荐系统做个很高层级的抽象的话,可以表达成学习如下形式的映射函数:y=F(User,Item,Context)y=F(User,Item,Context)y=F(User,Item,Context)..

2021-11-26 13:39:10 1515

原创 FM算法的实现方式

class FM(Layer): """Factorization Machine models pairwise (order-2) feature interactions without linear term and bias. Input shape - 3D tensor with shape: ``(batch_size,field_size,embedding_size)``. Output shape - 2D

2021-10-24 21:02:32 2603

原创 leetcode 5. 最长回文子串 -中心扩展算法

给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成class Solution: def longestPalindrome(self,

2021-09-25 23:24:00 185

原创 spark on hive=>spark3.1.2 on hive3.1.2 重新编译

hive on spark参考这篇文章wget https://archive.apache.org/dist/spark/spark-3.1.2/spark-3.1.2.tgz编译Saprk源码前置条件Maven 3.3.9 or newerJava 8+Scala修改文件 make-distribution.shMVN="/data/java/apache-maven-3.8.1/bin/mvn"先通过mvn下载相应的jar包mvn -Pyarn -Phive -Phive-th

2021-08-27 16:40:50 1463

原创 hive on spark Hive3.1.2 on Spark2.4.7单机环境

准备工作设备&电脑电脑(虚拟机): Ubuntu20.04.1 LTS, 已安装open-jdk(1.8), 已安装hive(3.1.2), 已安装hadoop(3.2.2)安装包https://archive.apache.org/dist/spark/spark-2.4.7/因为是hive on spark 所以我们使用spark-without-hadoop安装Spark解压Spark文件wget https://archive.apache.org/di

2021-08-27 16:35:42 715

原创 安装hive3

安装hive3一.下载&解压下载地址,下载安装文件之后解押到自己机器上合适的目录即可。https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz二. 配置hive1:配置环境变量配置HIVE_HOME环境变量,然后将HIVE_HOME下的bin目录加入到PATH路径中export HIVE_HOME=/data/java/apache-hive-3.1.2-binexport

2021-08-27 16:34:34 267

原创 BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding-论文翻译

BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding摘要我们介绍一种新的语言表达模型叫做BERT,它代表Transformers双向编码器表示。不像之前的语言表示模型(Peters et al.,2018a;Radford et al.,2018),BERT被设计成使用无标签在所有层的左右内容共同条件的预训练深度双向表示。结果上,预训练BERT模型仅仅一个附加的输出层的微调能在广范围任务中创造最先进

2021-08-14 15:14:11 347

原创 ubuntu 开机后黑屏dev/nvme0n1p4: clean, xxx/xxx files, xxx/xxxblocks

开机后选择高级操作选择revovery mode选择network然后选择root,输入root密码命令行删除英伟达相关驱动sudo apt-get purge nvidia*然后重新装相关驱动sudo ubuntu-drivers autoinstall重新启动reboot

2021-08-14 15:09:13 9387 7

原创 Attention Is All You Need论文翻译

Attention Is All You Need摘要显著优势得时序转换模型都是以复杂的包括一个编码器和一个解码器的循环神经或者卷积神经网络。最好性能的模型也通过一个attention机制连接着编码器和解码器。我们提出了一个新的简单的网络架构,The Transformer,仅仅以注意力机制为基础,完全省略了循环和卷积神经网络。在两个机器翻译的实验上表明模型有更好的质量同时更可平行化且需要更少的训练时间。我们的模型在WMT2014英译德翻译任务获得了28.4分,改善了存在的最好的结果,包括集成,超过2个

2021-08-08 10:56:46 396

原创 NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE-论文翻译

NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE摘要神经系统的机器翻译是一个最近被提出到机器翻译的方法。不像传统的统计机器翻译模型,神经系统翻译目的在于创建一个单神经网络,这个网络能被共同调整最大化机器翻译性能。 最近提出用于神经机器翻译的模型通常属于编码器-解码器家族,并将源句子编码到一个固定长度的向量,这个向量是通过解码器生成翻译。在这篇论文中,我们猜想使用一个固定长度向量是一个瓶颈,在提高以编码器-解码器为基

2021-07-26 22:33:44 2431

原创 ubuntu20.04+3090+docker+tf1.x全套安装流程

UBUNTU 20上的docker安装tf1.x1 在 Ubuntu 20.04 上安装 Docker在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装软件包。首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:sudo apt updatesudo apt install apt-transport-https ca-certificates curl gnupg-agent software-pro

2021-07-18 15:54:18 506 2

原创 seq2seq 论文翻译

Sequence to Sequence Learning with Neural Networks摘要深度神经网络(DNNS)是十分强大的模型已经在困难的学习任务中获得了卓越的表现。尽管DNNS在大型标记训练集上取得了很好的效果,但是他们不能使用时序到时序的映射。在这篇论文中,我们提出了一个通用的端到端的序列学习方法,该方法在时序的结构中进行最小化假设。我们使用多层LSTM模型将输入序列映射到固定维度的向量中,然后另一个深度的 LSTM从这个向量中解码目标的时序。我们的主要结果在WMT14数据集英语到

2021-06-13 09:08:09 677

原创 NDCG原理及代码实现

Normalized Discounted Cumulative Gain(归一化折损累计增益)NDCG用作排序结果的评价指标,评价排序的准确性。推荐系统通常为某用户返回一个item列表,假设列表长度为K,这时可以用NDCG@K评价该排序列表与用户真实交互列表的差距。解释:Gain: 表示列表中每一个item的相关性分数Gain=r(i)Gain=r(i)Gain=r(i)**Cumulative Gain:**表示对K个item的Gain进行累加CG@K=∑iKr(i)CG@K

2021-06-10 15:31:15 3676

原创 bmap跟echarts结合demo

<!DOCTYPE html><html style="height: 100%"> <head> <meta charset="utf-8"> </head> <body style="height: 100%; margin: 0"> <div id="container" style="height: 100%"></div> <!--

2021-06-03 14:21:38 353

转载 通过实际案例理解pytorch中lstm使用技巧

import numpy as npimport torchfrom torch import nnimport matplotlib.pyplot as plt"""Github: Yonv1943 Zen4 Jia1 hao2https://github.com/Yonv1943/DL_RL_Zoo/blob/master/RNNThe source of training data https://github.com/L1aoXingyu/code-of-learn-deep

2021-05-28 09:11:43 710

原创 迁移virtualenv环境

复制virtualenv现有的文件夹到目标机器上,Linux1=>Linux2(例如scp方式)在Linux2上安装virtualenvpip3 install virtualenv在Linux2创建新的virtualenv环境并激活:virtualenv -p your_python_path your_env_path

2021-05-12 15:06:55 265

原创 ubuntu20.04+3090+tf1/tf2+pytorch+keras全套安装流程

主要参考这篇文章,其中修改了自己遇到的问题py37或py38cuda11.1tf-nightly-gpu==2.6.0.dev20210507pytorch1.8keras2.3安装gccsudo apt install build-essentialgcc -v #查看gcc版本官网下载对应版本显卡驱动及cuda:(以下版本对应11.1cuda,此处安装cuda是为了tf的某个缺失的文件)wget https://developer.download.nvidia.com/

2021-05-07 22:11:13 1162 11

原创 基于翻译的模型-TransE,TransH,TransR,TransD

基于翻译的模型TransE模型TransE认为在知识库中,三元组<h,r,t>可以看成头实体h到尾实体t利用关系r所进行的翻译。比如,<柏拉图,老师,苏格拉底>头实体“柏拉图”的向量加上关系“老师”的向量,应该尽可能和尾实体“苏格拉底”的向量接近,也就是h+r≈tfr(h,t)=∣∣h+r−t∣∣l1/l2L=∑(h,r,t)∈S∑(h′,r′,t′)∈S′[γ+fγ(h,t)−fr(h′,t′)]+f_r(\textbf h,\textbf t)=||\tex

2021-04-30 18:34:29 1728 1

原创 django项目 MySQLdb.escape_string(json_str) 报错,AttributeError: module ‘pymysql‘ has no attribute ‘escap

import jsonimport pymysqlimport MySQLdbcontent = { "stylers" : { "color" : "#c4d7f5ff" }, "elementType" : "geometry", "featureType" : "water"}json_str = json.dumps(content)print(json_str)# json字符串不能直接写入到mysql中,需要进行转译# django项目 MySQLdb.

2021-03-24 16:01:21 1026

原创 hive UDF里写了main方法,运行提示 错误: 找不到或无法加载主类

hive UDF里写了main方法,运行提示 错误: 找不到或无法加载主类由于自定义的udf需要extends UDF,由于UDF在hive exec 的jar包中,pom文件中,这个jar的作用范围是provided,它只影响编译、测试阶段,运行阶段,是使用目标容器中提供的jar,所以运行阶段会提示上面的错误,如果在udf中测试main方法,可以讲provided进行注释,上线后别忘记恢复,否则会与线上hive的jar包冲突。 <dependency>

2021-02-01 14:55:00 1463

原创 tensorflow-cpu==2.4在mac pro上安装

使用conda创建虚拟环境conda create -name tf激活虚拟环境conda activate tfpip安装tf,使用豆瓣镜像。pip install tensorflow-cpu==2.4 -i http://pypi.douban.com/simple --trusted-host pypi.douban.compip install tensorflow==2.4 -i http://pypi.douban.com/simple --trusted-host pypi.do

2021-01-26 19:31:09 667

原创 RTX3090+Ubuntu 20.04+tensorflow 2.4.0安装指南

参考这篇文章显卡3090,ubuntu 20.4watch -n 1 nvidia-smiAnaconda安装最新的python3.8版本安装tensorflow2.4版本,使用豆瓣镜像pip install tensorflow-gpu==2.4 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com安装CUDA 11.2首先打开下载地址:https://developer.nvidia.com/cuda-toolki

2021-01-20 00:22:43 2533

原创 Could not load dynamic library ‘cusolver64_10.dll‘; dlerror: cusolver64_10.dll not found

显卡3090安装tensorflow,根据这篇进行安装的cuda_11.1.0_456.43_win10.exepip install tensorflow-gpu==2.4 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com安装tensorflow后,执行下面的语句报错。import tensorflow as tfprint(tf.__version__)print('GPU', tf.test.is_gpu_ava

2021-01-18 23:50:38 2338 2

原创 2021年的规划

白板推导看完nlp深入学习夯实数据结果和算法

2021-01-10 20:10:24 131

原创 hbase happybase链接池链接实例

hbase_pool = happybase.ConnectionPool(size=3, host=“ip”,port=9090, protocol=‘compact’, transport=‘framed’)

2020-12-19 18:22:49 381 2

原创 剑指 Offer 68 - II. 二叉树的最近公共祖先-Python题解

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 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-11-21 14:38:30 240

原创 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先-Python题解

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 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解释: 节点 2 和节

2020-11-21 14:25:04 219

原创 剑指 Offer 67. 把字符串转换成整数-Python题解

写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。注意:假如该字符串中的第一个非空

2020-11-21 14:10:45 211

原创 剑指 Offer 66. 构建乘积数组-Python题解

给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]提示:所有元素乘积之和不会溢出 32 位整数a.length <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/gou-jian-cheng-ji

2020-11-21 13:21:36 203

原创 剑指 Offer 65. 不用加减乘除做加法-Python题解

写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2提示:a, b 均可能是负数或 0结果不会溢出 32 位整数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bu-yong-jia-jian-cheng-chu-zuo-jia-fa-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution:

2020-11-21 11:47:56 199

原创 剑指 Offer 64. 求1+2+…+n-Python题解

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qiu-12n-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution:

2020-11-20 22:16:57 218

原创 剑指 Offer 63. 股票的最大利润-Python题解

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。限制:0 <= 数组长度 <=

2020-11-20 21:43:04 559

原创 clickhouse跟hive的不同

虽然clickhouse可以是多台机器,因为占用内存,每台机器存储不同的数据,所以需要有一个视图,将三台机器的数据进行汇总,原始表跟视图的创建语句如下--创建 clickhouse ,drop table dm.city_dim on cluster my_cluster;CREATE TABLE dm.city_dim on cluster my_cluster( city_id Int32 comment '城市ID', city_name String comment '城市名')E..

2020-11-16 15:39:10 6946

原创 剑指 Offer 62. 圆圈中最后剩下的数字-Python题解

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 = 17输出: 2限制:1 <= n <= 10^51 <= m <= 10^6来源:力扣(LeetCode)链

2020-11-15 22:13:14 255

原创 剑指 Offer 61. 扑克牌中的顺子-Python题解

从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True限制:数组长度为 5数组的数取值为 [0, 13] .class Solution: def isStraight(self, nums: List[int]) -> bool:

2020-11-15 20:49:43 158

原创 面试题60. n个骰子的点数-Python题解

把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例 1:输入: 1输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]示例 2:输入: 2输出: [0.02778,0.05556,0.08333,0.11111,0.13889,0.16667,0.13889,0.11111,0.08

2020-11-15 15:57:23 804

空空如也

空空如也

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

TA关注的人

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