自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (2)
  • 收藏
  • 关注

原创 Git分支

分支查看:git branch分支创建:git branch <branchName>分支切换:git checkout <branchName>分支拉取:git pull origin <branchName>分支克隆:git clone -b <branchName> git@gitlab.alibaba-inc.com:xxx.git分支提交:git add README.mdgit commit -m"update readme file

2022-02-10 11:55:02 399

原创 Dataset、IterableDataset 读取大数据的思路

一、单进程读取数据Dataset在数据量很大,无法将全部数据加载到内存的情况下,可以在init中读出表数据行数,在__len__设置为长度返回,在__getitem__中根据idx读表,idx就可以表示读取的表的行数,一般在读表的时候写作 path/table_name?start={}&end={}import torchimport numpy as npfrom torch.utils.data import IterableDataset, Dataset'''需要先一次性把

2021-12-24 15:43:09 4050

原创 PyTorch 读取大数据

PyTorch 读取大数据数据量太大,必须分批从磁盘加载,下面是单机单卡的思路:from torch.utils.data import Dataset, DataLoaderimport torchclass PretrainData(Dataset): def __init__(self): ''' 假设data是个数据量很大的文件,每次只能从内存中加载3条数据, 后续可以把data放在odps_batch_data中改写成从文件中读数据 '''

2021-12-13 14:17:17 1509

原创 DGL实现同构/异构图卷积模型

同构图卷积from time import timeimport numpy as npimport dglimport torchimport torch.nn as nnimport torch.nn.functional as F# 模型class TwoLayerModel(nn.Module): def __init__(self): super().__init__() # gcn self.conv1 = dgl.nn

2021-10-21 15:33:34 1269 2

原创 ML/DL常用评估方法

auc、acc、ndcg、recall、precision、f1

2021-10-21 14:59:00 284

原创 XGB的python实现

搜索最优的xgb模型参数from xgboost import XGBClassifierfrom sklearn.model_selection import GridSearchCV# 定义参数取值范围learning_rate = [0.2, 0.3, 0.4]subsample = [0.7, 0.8, 0.9]colsample_bytree = [0.7, 0.8, 0.9, 1.0]max_depth = [3, 5, 8]n_estimators = [100, 200,

2021-10-21 14:42:43 2578

原创 TSNE画图

TSNE画图2D图from sklearn.manifold import TSNEimport matplotlib.pyplot as pltimport numpy as np# 10条数据,每条数据6维h = np.random.randn(10, 6) # 使用PCA降维到2维tsne = TSNE(n_components=2, init='pca', random_state=0)result_2D = tsne.fit_transform(h)# 10条数据中前5条为

2021-10-21 10:41:27 2463

原创 python - 输出最大/最小的 k 个元素的索引

K = 4a = np.array([0, 8, 0, 4, 5, 8, 8, 0, 4, 2])# 最大的 k 个元素的索引print(np.argpartition(a, -K)[-K:]) # [4 1 5 6]# 最小的 k 个元素的索引print(np.argpartition(a, K)[:K]) # [7 0 2 9]

2021-08-05 19:28:34 941

原创 欺诈检测相关论文

欺诈检测相关论文一、分类1、GEM2、HACUD3、MAHINDER4、Semi-GNN5、MvMoE6、AMG-DP7、AddGraph8、NetWalk9、DOMINANT10、GraphConsis11、PC-GNN12、TRUST二、类别不平衡一、分类1、GEM来自蚂蚁金服的论文,他们提出GEM模型,是一个异质图神经网络方法,用于支付宝中恶意账户的检测。数据量有4.5亿个用户。作者从数据中总结了来自攻击者的两个主要特征:1、攻击者要承受计算资源带来的成本,所以大多数攻击者只在少数计算资

2021-07-22 19:07:50 2116 5

原创 Linux-Centos 安装Anaconda(2021)

安装步骤1、下载Anaconda到本地 Anaconda3-5.3.1-Linux-x86_64.sh2、上传本地 Anaconda 文件到 linux 服务器rz # 打开笔记本方式上传3、安装bash Anaconda3-5.3.1-Linux-x86_64.sh4、检查是否安装成功conda info --envs配置步骤如果没有安装成功,需要配置~/.bashrc文件1、进入vim ~/.bashrc2、最后一行添加export PATH=$PATH:【你

2021-07-12 21:14:00 561

原创 GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection

GCN-Based User Representation Learning for Unifying RobustRecommendation and Fraudster Detection点击率预测:其主要思想是根据用户的历史行为对一组未评级的项目进行评级预测,然后从预测评级最高的项目中选择个性化推荐。欺诈检测:推荐系统的评论评级数据通常来自于开放平台,这可能会吸引一群恶意用户故意插入虚假反馈,使推荐系统偏向于自己。(此类攻击的出现可能会违反建模假设,即高质量的数据总是可用的,这些数据真实地反映

2021-04-15 15:41:59 702

原创 tf2: Gradients do not exist for variables when minimizing the loss.

WARNING:tensorflow:Gradients do not exist for variables when minimizing the loss.情况一错误写法:模型forward中计算出 loss1 和 loss2 返回,然后再计算 losswith tf.GradientTape() as tape: loss1,loss2 = model(user_list, item_list, labels_list) loss = precision1 * loss1 + preci

2021-04-04 15:09:40 3290 2

原创 抑制过拟合之正则化与Dropout

避免过拟合:1、增大数据集合 – 使用更多的数据,噪声点比减少(减少数据扰动所造成的影响)2、减少数据特征 – 减少数据维度,高维空间密度小(减少模型复杂度)3、正则化 / dropout / 数据增强 – 在缺少训练数据情况下一、Dropout介绍:训练时:随机人为丢弃一些神经单元测试时:使用全部神经单元原理:1.取平均的作用:相同训练数据训练5个不同的神经网络,得到5个不同结果,此时可以采用“5个结果取平均值”或“多数取胜投票策略”决定最终结果。2.减少神经元之间复杂的公适应关系:因

2021-03-30 15:53:25 279

原创 tensorflow2.0 Dataset创建和使用

一、创建Dataset# 可以接收一个numpy.ndarray、tuple、dictdataset = tf.data.Dataset.from_tensor_slices(np.arange(10).reshape((5,2)))dataset = tf.data.Dataset.from_tensor_slices(([1,2,3,4,5,6],[10,20,30,40,50,60]))dataset = tf.data.Dataset.from_tensor_slices({"x":[1,2

2021-03-30 11:12:38 873

原创 Tensorflow2.0 tf.function和AutoGraph模式

一个简单记录,后续慢慢补充。。。。。一、函数# 类似一个tensorflow操作@tf.functiondef add(a, b): return a+b # 即使传入数字,函数运算也是python基本运算,发返回值的类型也会变成tensor。print(add(1,2)) # tf.Tensor(3, shape=(), dtype=int32)print(add(tf.ones([2,2]), tf.ones([2,2]))) # 快速矩阵计算# tf.Tensor(

2021-03-29 21:33:29 173 2

原创 Tensorflow2.0模型构建与训练

模型构建class Encoder(layers.Layer): def __init__(self, latent_dim=32, intermediate_dim=64, name="encoder", **kwargs): super(Encoder, self).__init__(name=name, **kwargs) ''' w_init = tf.random_normal_initializer() self.w =

2021-03-29 20:51:53 432

原创 推荐系统中的Embedding

推荐系统之Embedding一、什么是embedding?1. 让embedding空前流行的word2vec:2. 从word2vec到item2vec二、Graph Embedding1. 经典的Graph Embedding方法 — DeepWalk2. DeepWalk改进 — Node2vec3. 阿里的Graph Embedding方法EGES三、深度学习推荐系统中,Embedding的应用1. 深度学习网络中的Embedding层2. Embedding的预训练方法3. Embedding作为

2021-03-28 21:14:15 1084

原创 pytorch 和 tensorflow2.0 方法替换

张量初始化pytorch: xavier_uniform_()tf2.0: GlorotUniform()def confirm(weight): mean = np.sum(weight) / dim print("均值: {}".format(mean)) square_sum = np.sum((mean - weight) ** 2) print("方差: {}".format(square_sum / dim))dim = 1000000 w = n

2021-03-23 15:10:07 667

原创 BIO,NIO,AIO

BIO,NIO,AIO 介绍一、背景1.1 说明1.2 通信技术整体解决的问题二、Java的I/O演进之路2.1 I/O 模型基本说明2.2 I/O模型Java BIOJava NIOJava AIO2.3 BIO、NIO、AIO 适用场景分析三、BIO,NIO,AIO总结一、背景1.1 说明​ 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网络通信

2021-02-17 13:59:19 301

原创 JAVA AIO

JAVA AIO深入剖析AIO编程AIO编程Java AIO(NIO.2) : 异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理。AIO:异步非阻塞,基于NIO的,可以称之为NIO2.0BIONIOAIOSocketSocketChannelAsynchronousSocketChannelServerSocketServerSocketChannelAsynchronousServerS

2021-02-17 13:54:20 208 2

原创 JAVA NIO

JAVA NIO深入剖析1. Java NIO 基本介绍2. NIO 和 BIO 的比较3. NIO 三大核心原理示意图Buffer 缓冲区Channel 通道Selector 选择器4. NIO核心一:缓冲区(Buffer)缓冲区(Buffer)Buffer 类及其子类缓冲区的基本属性Buffer常见方法缓冲区的数据操作案例演示直接与非直接缓冲区5. NIO核心二:通道(Channel)通道Channe概述常用的Channel实现类FileChannel 类FileChannel的常用方法案例1-本地文件

2021-02-17 13:50:01 743

原创 JAVA BIO

JAVA BIO深入剖析1. Java BIO 基本介绍2. Java BIO 工作机制3. 传统BIO编程4. BIO模式下的多发和多收消息5. BIO模式下接收多个客户端6. 伪异步I/O编程7. 基于BIO的文件上传8. Java BIO模式下的端口转发9. 基于BIO模式下的即时通信功能清单简单说明项目启动与演示1. Java BIO 基本介绍Java BIO 就是传统的 java io 编程,其相关的类和接口在 java.ioBIO(blocking I/O) : 同步阻塞,服务器实现

2021-02-17 13:45:40 169 1

原创 代理模式

代理模式一、静态代理二、动态代理代理模式是SpringAOP的底层!分类:静态代理动态代理角色分析:抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作客户:访问代理对象的人代码步骤:接口真实角色代理角色客户端访问代理一、静态代理// 接口:租房业务public interface Rent { public void rent();}// 真实角色-房东:具有租房功能c

2021-02-06 22:42:11 75

原创 桥接模式

桥接模式bridge桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。如下,为电脑的多继承结构:可以看出其多继承为如下两个维度:可以在代码中进行如下实现:// 品牌接口public interface Brand { public void info();}class Apple implements Brand{ @Override publi

2021-02-06 18:16:17 144

原创 适配器模式

结构型模式:从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。适配器模式将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作!角色分析目标接口:客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口。需要适配的类:需要适配的类或是适配者类。适配器:通过包装一个需要适配的对象,把原接口转换成目标对象!USB网线转换器//要被适配的类:网线public class Adaptee { .

2021-02-06 17:28:51 88

原创 原型模式

原型模式一、浅克隆二、深克隆一、浅克隆/** * 实现一个接口 Cloneable * 重写一个方法 clone() */public class Video implements Cloneable{ private String name; private Date createTime; @Override protected Object clone() throws CloneNotSupportedException { return

2021-02-06 13:19:24 73

原创 建造者模式

建造者模式定义主要作用实现方式一实现方式二优点缺点应用场景建造者与抽象工厂模式对比建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式。定义将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。主要作用在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。用户只需要给出指定复杂对象的类型和内容,建造者模式负责按照顺序创建复杂对象(把内部的建造过程和细节隐藏起来)实现方式一指挥者指挥具体的工人生产产品//产品:房子public class Pro

2021-02-05 23:15:17 78

原创 工厂模式

工厂模式作用OOP七大原则核心本质三种模式一、简单工厂模式二、工厂方法模式三、抽象工厂模式小结应用场景工厂模式作用实现了创建者和调用者的分离OOP七大原则开闭原则:一个软件的实体应当对扩展开放,对修改关闭依赖倒转原则:要针对接口编程,不要针对实现编程迪米特法则:只与你直接的朋友通信,而避免和陌生人通信核心本质实例化对象不使用new,用工厂方法替代将选择实现类,创建对象统一管理和控制。从而将调用者和我们的实现类解耦。三种模式简单工厂模式:用来生产同一等级结构中的任意产品.

2021-02-05 17:25:42 269

原创 单例模式

单例模式1、懒汉模式2、饿汉模式3、DBCL:双重检查锁 ★4、静态内部类单例模式 ★1、懒汉模式线程不安全,延迟初始化,严格意义上不是单例模式public class Singleton{ private static Singleton instance; // 不允许外界去new对象 private Singleton(){} public static Singleton getInstance(){ if(instance == null}{ instance = new

2021-01-30 11:34:53 98 1

原创 RabbitMQ 简介和使用

RabbitMQ一、RabbitMQ概述1、什么是消息队列2、为什么要使用消息队列3、RabbitMQ特点二、RabbitMQ安装1、安装前准备1.1 依赖包安装1.2 安装Erlang2、安装3、常用命令3.1. 启动和关闭3.2. 插件管理3.3. 用户管理3.4. 权限管理3.5. vhost管理三、RabbitMQ消息发送和接收1、 RabbitMQ的消息发送和接收机制2、Exchange类型3、RabbitMQ发送消息四、SpringBoot集成RabbitMQ五、RabbitMQ集群一、Rab

2021-01-30 10:41:04 323

原创 Nginx 简介和使用

Nginx简介Nginx发展介绍Nginx作者正向代理和反向代理概念网站代理服务器查看Nginx环境搭建下载安装前准备安装启动检测Nginx是否启动关闭重启Nginx核心配置文件说明Nginx主要功能1、静态网站部署2、负载均衡负载均衡概述负载均衡实现方式Nginx负载均衡策略负载均衡其他配置3、静态代理静态代理实现方式4、动静分离5、虚拟主机配置虚拟主机方式Nginx简介Nginx发展介绍Nginx 是一个高性能的(静态)Web服务器和反向代理服务器,也可以作为邮件代理服务器。Nginx特点是占.

2021-01-29 13:31:06 714

原创 Eureka 简介和使用

Eureka 服务注册与发现服务注册与发现Eureka与Zookeeper的比较ZooKeeper保证CPEureka保证APEureka是什么?Eureka原理SpringBoot、Spring Cloud 和 Eureka 版本选择Eureka单机搭建搭建Eureka服务端搭建Eureka客户端的服务提供者搭建Eureka客户端的服务消费者Eureka集群搭建eureka 的一些其他配置服务注册与发现在微服务架构中,服务注册与发现是核心组件之一。Spring Cloud提供了多种服务注册于发现的实现

2021-01-25 23:51:53 469

原创 Zuul 简介和使用

Zuul背景Zuul的作用Zuul API网关Zuul请求过滤Zuul路由规则Zuul异常处理背景通过之前的学习,我们知道注册中心Eureka,可以讲服务注册到该注册中心,Ribbon和Feign可以实现服务负载均衡地调用,Hystrix可以实现服务熔断,但我们还缺点什么?微服务架构图:外部调用方:浏览器、其他客户端负载均衡:nginxOpenService:开放服务,服务消费者。集群部署ServiceA/B:内部服务,服务提供者。两个服务进行集群部署,每个服务有三个实例。虚线框内服务调

2021-01-25 17:00:38 481 2

原创 Feign 简介和使用

声明式服务消费Feign一、简介二、使用Feign实现服务消费者三、实现普通的服务提供者四、Feign服务调用测试五、Feign消费者测试负载均衡服务熔断一、简介Feign是Netflix公司开发的一个声明式的REST调用客户端;Ribbon负载均衡、Hystrix服务熔断是我们Spring Cloud开发中非常基础的组件,在使用过程中他们一般是同时出现的,配置也非常相似,每次开发都有许多相同的代码。因此,Spring Cloud基于Netflix Feign整合了Ribbon和Hystrix两个组件

2021-01-24 14:29:42 210

原创 Hystrix 简介和使用

Hystrix一、概念二、使用1. 环境搭建2. 服务降级3. 异常处理4. 自定义Hystrix请求的服务异常熔断处理三、测试1. 服务提供者抛出异常来测试熔断机制2. 服务提供者延迟3. 使用熔断机制进行异常捕获4. 异常忽略(直接将异常抛出给用户)5. 自定义Hystrix请求的服务异常熔断处理一、概念故障蔓延:由于一个服务变慢或没有响应导致大量请求堆积,进而导致其他服务瘫痪。为了解决上述问题,微服务架构中引入了熔断器的服务保护机制。微服务中的熔断器:当被调用的方法没有响应,调用方法直接

2021-01-23 14:53:32 267 1

原创 中文实体命名识别工具使用汇总:Stanza、LAC、Ltp、Hanlp、foolnltk、NLTK、BosonNLP

实体命名识别相关知识Stanford CoreNLP 命名实体识别一、简介:二、java版本使用三、python版本使用NLTK 命名实体识别一、简介:二、搭建环境三、nltk使用1、英文实体命名初体验2、使用nltk来处理中文资料结巴分词使用foolnltk 命名实体识别一、简介二、python版本使用Ltp 实体命名识别一、简介二、使用LAC 实体命名一、简介二、python版本使用BosonNLP 实体识别一、简介二、python版本使用Hanlp 实体识别一、简介二、python版本使用相关知识

2021-01-16 20:09:44 11168 3

原创 Dubbo+Zookeeper+SpringBoot

步骤一、Provider提供服务1. 导入依赖2. 配置注册中心地址、服务发现名、要扫描的包3. 在想要被注册的服务上面 增加一个注解`@service`(注意:是服务注解非service层注解)二、消费者如何消费1. 导入依赖(和上面的一样)2. 配置注册中心地址、自己的服务名3. 从远程注入服务 `@Reference`三、测试前提:zookeeper服务已开启!一、Provider提供服务1. 导入依赖pom.xml 文件: <!-- Dubbo -->

2021-01-11 14:00:02 90

原创 Failed to execute goal org.apache.maven.plugins:maven-resources-plugin

maven打jar包错误引起错误的原因是在 SpringbootStudyApplication 类中,加入了下面注释中的代码(监听项目启动,然后打开浏览器),单纯删掉注释代码是无法解决问题的,可能的原因是由于加入这部分代码而import的一些包有冲突吧!具体没搞清楚,重新建项目,不做这个工作就可以打包了!package com.ex.springbootstudy;import org.springframework.beans.factory.annotation.Value;import o

2021-01-06 16:14:14 250

原创 ajax发送数据时的contentType

contentType:指明发送的data数据(这里是aa)的类型,默认是application/x-www-form-urlencoded(这种设置的特点是以key/value的方式var aa = {"username":"llyppppppost","password":"33333333"}$.ajax({ type:"POST", url:"http://localhost:8080/springmvc_annotation/user3/add", contentTyp

2021-01-04 18:16:57 303

原创 Linux的基本使用

Linux1.Linux发行版2.目录相关命令3.文件属性相关命令4.文件内容查看扩展:硬链接和软链接5. Vim编辑器6. Linux账号管理7. Linux用户组管理8. Linux磁盘管理9. Linux进程管理环境安装1.Linux发行版将Linux内核与应用软件做一个打包2.目录相关命令linux的文件系统是采用级层式的树状目录结构,在此结构中最上层是根目录“/”,然后在此目录下再创建其它的目录。 在linux世界里。一切皆文件pwd:显示当前工作目录的绝对路径ls [-a|-d

2021-01-02 17:25:39 434

科研入门-参考文献格式.pdf

撰写人工智能领域的科研论文时,书写参考文献的步骤,包含,如何查找文献的详情,如何辨别文献的条目,如何筛选文献中的信息,如何引用等内容

2020-07-28

SocialAttentionalMemoryNetwork.py

tensorflow进行模型的保存和提取实操练习 原代码是一个推荐系统的模型,没有进行模型的保存和提取 在学习了tensorflow中模型的保存和提取之后,在这份代码上进行了练习 其中代码后面注释 lly 的地方是我进行修改的地方

2019-08-24

空空如也

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

TA关注的人

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