- 博客(155)
- 资源 (6)
- 收藏
- 关注
原创 本地可以自动发送邮件,阿里云服务器不行
使用qq邮箱的stmp.qq.com来实现定时发送邮件,默认端口是25,在本地尝试了可以发送,部署到阿里云服务器出现网络失败。需要在云服务器的出方向和入方向都开放587端口才行。于是换了465端口,依旧失败。最后尝试587端口,成功发送。
2023-03-07 12:39:33
1811
原创 关于CVR建模中延迟反馈问题
转化率(CVR)预估是电商搜索、推荐和广告最关键任务之一。商业系统通常需要以在线学习的方式更新模型,以跟上不断变化的数据分布。但是,成交转化通常不会在用户单击商品后立即发生。这可能会导致label不准确,我们称之为延迟反馈问题。也就是说,对于一个点击行为,可能在当时没有出现转化现象,但是在随后的12h,24h小时内发生了转化,那么这个样本数据就会标记为负。通过延迟反馈修订,就是将此类的样本数据标记为正。在以前的研究中,延迟反馈问题是通过长时间等待正例样本来解决的;
2022-09-08 20:46:16
2416
原创 模型线上线下一致性问题
线下可能很好,但是线上表现并不如意,对于这种线上线下一致性问题,是机器学习模型在上线之后经常遇到的问题。围绕着这个问题,从多个角度来考虑该问题。
2022-09-08 18:26:59
3066
原创 《LC刷题总结》——动态规划
通过上述知道,s1必然是个整数,所以如果taget+sum是个奇数,则不存在组合,返回0。发现如果遍历到第i、个分隔字符,如果dp[j-len(i)]为真的话,且这部分也在字分隔典中,那么dpj也为真。把a看作背包容量,数组的数字看作价值和重量,如果对于a的背包恰好存在最大价值是a的,则可以构成。对于ij相等,不一定要求i+1,j-1是回文串,而是里面的回文子序列长度+2即可。如果i,j不相等,那么就等于上一位置的状态,也就是i+1,j和i,j-1的最大值。基于此,遍历顺序i要从后往前,j从i到后。...
2022-08-31 12:20:36
1052
原创 window 睡眠模式下定时执行exe文件/py文件
这里有一个exe可执行文件,我想的是每天早上的七点钟,定时执行一次这个程序。也经历了一些问题才最终得以解决。
2022-08-21 21:36:04
3244
原创 《LC刷题总结》——贪心
贪心思路,每更新一次index,都计算一次最大的覆盖范围,这个cover可能没变化,也可能是index+nums[i]的值。看cover是否能到最后一个数字。考虑贪心的思路,可以计算相邻两天买卖的利润,然后取所有的正利润即可。可以无限次的买卖股票,获取的最大利润。同一天可以买卖各一次。如果能实现每一阶段局部最优,就可以拓展到全局,得到最优解。数组中的每个元素代表你在该位置可以跳跃的最大长度。贪心解法没有固定的模板。判断你是否能够到达最后一个下标。...
2022-08-08 22:56:10
744
原创 HSDC和独立生成树相关
一组生成树t1;t2;..;如果对于v(G)中的任意两个节点u和v,任意两棵树中u和v之间的路径没有共同的边,也没有共同的内部节点,那么网络G中的Tk就是完全独立生成树(cist)。cist在数据中心网络中有重要的应用,如容错的多节点广播、容错的一对所有广播、可靠的广播、安全的消息分发等。增广立方体Qn是超立方体Qn的一个显著变体,具有可扩展性的重要特性,并被提出作为数据中心网络的底层结构。基于AQn的数据中心网络用AQDNn表示,AQDNn的逻辑图用L-AQDNn表示。在本文中,我们研究如何在L-A。..
2022-08-01 14:41:38
619
原创 深度学习常用激活函数总结
首先数据的分布绝大多数是非线性的,而一般神经网络的计算是线性的,引入激活函数,是在神经网络中引入非线性,强化网络的学习能力。所以激活函数的最大特点就是非线性。不同的激活函数,根据其特点,应用也不同。Sigmoid和tanh的特点是将输出限制在(0,1)和(-1,1)之间,说明Sigmoid和tanh适合做概率值的处理,例如LSTM中的各种门;而ReLU就不行,因为ReLU无最大值限制,可能会出现很大值。......
2022-07-25 22:31:22
1564
原创 python 通过dict(zip)和{}的方式构造字典
经过测试,字典占用空间和键值对的个数并不是线性的。如果在很大的数据中,就需要考虑占用空间的大小,比如。10000个键值对,占用了7w字节。(应用在离线保存embeddings中)的一一映射关系,将aid作为key,第二列作为value。这样通过建立新的key,list作为value存储。在python中,通常通过。...
2022-07-18 17:10:59
3265
原创 python生成矩阵为何[[0 for i in range(n)] for j in range(m)]而不能[[0]*n]*m
python生成矩阵,使用[[0]*n]*m,我们会发现,当改变其中某一个元素时,整列数据都会发生改变,而使用[[0 for i in range(n)] for j in range(m)]才可以生成正常的矩阵。这是因为,list是可变元素,而int是不可变元素,对于list存储采用指针,引用型变量,改变矩阵其中某一个元素值,导致所有行的这个位置的元素都会改变。下面具体分析:Python列表和C语言数组不同,并不是存的实在的值,而是存放的只想其他实例的指针。所以也就能够理解 为什么python列表里里面什
2022-07-12 23:07:57
5991
原创 【万字长文】多模态预训练模型研究进展
从2018年Bert横空出世以后,以预训练模型为基石的各个领域百花齐放,多模态预训练模型也是在这样一个背景下诞生的,具体大概是从2019年开始涌现的。在传统NLP单模态模型中,表征学习的发展较为完善,但在多模态,由于高质量标注数据集的限制,少样本学习以及零样本学习是研究的重点。基于Transformer结构的多模态预训练模型,通过海量无标注数据进行预训练,然后使用少量有标注数据进行微调即可。通常多模态分为:一般是人类看到是实物,声音甚至味道都是一种模态信息。以下介绍将基于最常用的语言视觉多模态(Langua
2022-07-12 19:27:54
2281
2
原创 df.apply之后,dropna() got an unexpected keyword argument ‘subset‘
在使用df进行:报错:或者是因为 在此之前df经过了apply函数操作,使得df数据不再是dataframe结构,而是变成了Series数据结构。如下:就会报错:原因是在之后,sort_data就是pd.series结构了(至于为什么我也不知道,可能和df数据有关系)所以为了防止这种情况,直接改用map进行df的列值修改。如下:...
2022-07-11 18:35:26
2472
原创 leetcode295 一道题认识大顶堆和小顶堆
LC295:数据流的中位数简单来说就是计算中位数。这里采用大顶堆和小顶堆来分别存储中位数的两边。堆排序(Heap Sort)是利用堆这种数据结构所设计的一种排序算法。堆排序先按从上到下、从左到右的顺序将待排序列表中的元素构造成一棵完全二叉树,然后对完全二叉树进行调整,使其满足:构建出堆后,将堆顶与堆尾进行交换,然后将堆尾从堆中取出来,取出来的数据就是最大(或最小)的数据。重复构建堆并将堆顶和堆尾进行交换,取出堆尾的数据,直到堆中的数据全部被取出,列表排序完成。堆结构分为大顶堆和小顶堆:大顶堆:每个节点(叶节
2022-07-11 01:03:56
2960
原创 Product1M: Towards Weakly Supervised Instance-Level Product Retrieval via Cross-ModalPretraining论文解读
2021年ICCV《ICCV2021 Product1M_Towards_Weakly_Supervised_Instance-Level_Product_Retrieval_via_Cross-Modal_Pretraining》代码地址: https://github.com/zhanxlin/Product1M.主要研究在弱监督的多模态数据场景下,电商领域的产品检索,论文贡献主要在二:首先对比了两种检索模式,图像级检索和多模态实例级检索。图像层面的检索倾向于返回琐碎的结果,因为它不区分不同的实例,而
2022-07-07 21:18:59
955
2
原创 M5Product: Self-harmonized Contrastive Learning for E-commercial Multi-modal Pretraining 论文解读
2022年CVPR《M5Product: Self-harmonized Contrastive Learning for E-commercial Multi-modal Pretraining》论文地址:https://arxiv.org/pdf/2109.04275.pdf代码地址:https://github.com/Xiaodongsuper/SCALE_code本文贡献主要有二:开源了一个大规模的多模态预训练数据集M5Product。该数据集包括5种模式(图像、文本、表格、视频和音频),涵盖
2022-07-07 18:26:25
965
原创 Multi-modal Knowledge Graphs for Recommender Systems论文解读
美团基于多模态知识图谱的推荐系统论文
2022-07-06 19:18:48
1030
原创 pytorch的模型保存加载和继续训练
随着现在模型越来越大,一次性训练完模型在低算力平台也越来越难以实现,因此很有必要在训练过程中保存模型,以便下次之前训练的基础上进行继续训练,节约时间
2022-06-22 11:35:50
5827
原创 MIT2020《Missing Semester》—2 Shell工具和脚本
2020MIT MIssing semester课程第二章 Shell工具
2022-06-04 23:04:55
327
原创 本地远程访问云服务器的jupyter
文章目录1 服务器安装jupyter1.1 pip install1.2 配置文件1.3 创建登录密码2 SSH映射服务器ip到本地3 关于jupyter的其他问题3.1 启动内核找不到虚拟环境(tf,torch等等)3.21 服务器安装jupyter1.1 pip installpip install jupyter1.2 配置文件查看配置文件.jupyter/jupyter_notebook_config.py,如果没有找到就生成配置文件jupyter notebook --generat
2022-04-21 15:33:09
2037
原创 基于Torchserve部署SBERT模型<语义相似度任务>
文章目录1 获取模型2 安装torchserve3 封装模型和接口3.1 准备模型3.2 准备接口文件3.3 封装这是一个关于如何使用TorchServe部署预先训练的HuggingFace Sentence transformers模型的指南。任务:语义相似度(回归)算法模型:Sentence BERT预训练模型:TinyBERT_L6_ch框架:torch 1.11系统环境:Ubuntu 20.04 (云服务器 CPU)1 获取模型模型的渠道来自2方面直接获取预训练模型在hug
2022-04-21 15:11:10
3140
原创 三行命令 服务器秒变文件服务器
nohup可以在后台上执行python程序,所以可以根据这一点将云服务器中的某个文件夹作为共享文件夹,通过访问ip地址就可以查看和下载文件,实现文件服务器的目的。仅需要三步就可以实现1 进入到文件服务器的某个文件夹cd /root/Files2 查看python的端口TCP后面的就是lsof -i3 nohup执行python文件nohup python3 -m http.server 端口 &4 如果端口被占用,释放端口lsof -i:端口号kill -9 显示出来
2022-04-19 12:56:41
1357
原创 torchserve使用教程(踩坑记录)
1 torch serve介绍在生产中部署和管理模型通常是机器学习过程中最困难的部分,这项工作包括构建定制的预测 API,对其进行扩展,并加以保护等等。简化模型部署过程的一种方法是使用模型服务器,即专门设计用于在生产中提供机器学习预测的现成的 Web 应用程序。模型服务器可轻松加载一个或多个模型,并自动创建由可扩展 Web 服务器提供支持的预测 API。模型服务器还可以根据预测请求运行代码预处理和后处理。最后同样重要的一点是,模型服务器还提供对生产至关重要的功能,例如日志记录、监控和安全性等。广
2022-04-18 12:39:20
9675
17
原创 Sentence-BERT 语义相似度双塔模型
论文介绍发表:2019,EMNLP论文题目:《Sentence-BERT:sentence embeddings using siaese BERT-networks》论文地址:https://arxiv.org/abs/1908.10084Github:https://github.com/UKPLab/sentence-transformers适用领域:句向量生成语义相似度计算语义搜索无监督任务(聚类)1 概述在20年之前的各种预训练模型中,比如bert,XLNet,Alb
2022-04-13 16:41:48
8407
2
原创 二叉树前中后层序遍历的总结对比
二叉树结构的定义: # Definition for a binary tree node. class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right对于以上二叉树,其四种遍历顺序分别是:中序(左中右):7-2-1-8-4-3-5前序(中左右):1-2-7-
2022-04-07 16:57:16
476
原创 图神经网络GNN在推荐系统的应用:综述
参考:论文1:《Graph Neural Networks in Recommender Systems: A Survey》https://arxiv.org/pdf/2011.02260.pdf论文2:《Graph Neural Networks for Recommender Systems:Challenges, Methods, and Directions》https://arxiv.org/pdf/2109.12843.pdf1 介绍1.1 推荐系统发展的三个阶段回顾一
2022-04-02 18:05:10
4966
原创 推荐系统的多样性总结
文章目录1 推荐系统为何需要多样性2 多样性类型3 多样性评价指标4 如何改进多样性召回阶段——多路融合排序阶段——多特征建模重排阶段不同用户的多样性需求分析推荐系统的多样性反应了一个推荐列表中内容不相似的程度。通过推荐多样性更高的内容,既能够给用户更多的机会去发现新内容,也能够让推荐系统更容易发现用户潜在的兴趣。需要注意的是,精确性和多样性是一对Trade Off,提升多样性的代价往往以牺牲准确性为代价,因此如何平衡准确性和多样性是一个需要权衡的地方,或者从另一个角度讲如何在短期目标和长期目标间做平衡
2022-04-02 14:39:05
5132
5
原创 TinyBERT论文及代码详细解读
General DistillationData Augmentation主要基于BERT预训练模型以及词向量(文中选择的Glove词向量)进行词级别的替换,实现数据增强。在官方代码中进行了17(NαN_\alphaNα)倍的增强,以GLUE/QQP数据集为例效果如下:id qid1 qid2 question1 question2 is_duplicate402555 536040 536041 how do i control my 40-something emotions
2022-03-30 18:57:17
3970
1
原创 conda 创建/删除/复制/重命名 深度学习环境
1 创建打开anaconda的prompt面板,先创建一个python3.9的环境conda create -n pytorch1.9 python=3.9创建完之后可以激活环境activate pytorch1.9进一步可以安装torch或者tf框架推荐使用pip,我发现conda比pip慢很多。pip3 install torch torchvision torchaudio这样,一个pytorch框架的python环境就创建好了2 删除conda remove -n pyto
2022-03-28 18:38:56
2598
1
原创 为什么Bert的三个Embedding可以进行相加,数学证明及代码
这是一个知乎上的经典问题,为什么 Bert 的三个 Embedding 可以进行相加?其中,苏剑林老师的解释感觉很有意思:Embedding的数学本质,就是以one hot为输入的单层全连接。请参考: https://kexue.fm/archives/4122也就是说,世界上本没什么Embedding,有的只是one hot。现在我们将token,position,segment三者都用one hot表示,然后concat起来,然后才去过一个单层全连接,等价的效果就是三个Embedding相加
2022-03-28 14:40:12
3476
1
原创 从Attention到Bert——3 BERT解读
文章目录Bert介绍Bert模型结构1 与GPT,ELMO结构对比2 Bert的输入3 Bert的输出Bert两大预训练任务MLM, NSP1 CV的预训练任务2 Masked language model, MLM 掩码语言模型3 Next sentence predict,NSP,上下文预测模型Bert四大下游任务Finetune1 分类2 序列标注总结1 优点2 缺点Bert介绍BERT的全称是Bidirectional Encoder Representation from Transform
2022-03-28 13:50:27
2181
26键盘对应钢琴26音.zip
2019-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人