- 博客(63)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 springcloud 结合eureka开启注册中心
首先创建一个简单的mvn工程在pom.xml文件中引入依赖<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent --> <dependency> <groupId>org.s...
2019-04-18 22:05:49
500
原创 各种后门攻击以及防御复现
后门攻击代码复现 BadNets,Composite backdoor attack,SIG,Refool,BlendAC ABL NAD
2022-07-18 12:10:09
2011
7
原创 CV视觉—注意力集中机制
本来有个idea,想拿注意力集中机制去对抗后门攻击的(像素点攻击),没想到写完通道的注意力集中防御并没有增加,后门的基于空间注意力的也不打算测试了,就把通道注意力集中贴这里吧,因为往上没有类似代码,这份代码全是我自己写的,一个中秋的成果泡汤了。这份是不带注意力集中机制的import torchimport torch.nn.functional as Fimport torch.optim as optimfrom torch import nnfrom torchvision import
2021-09-21 17:37:25
244
原创 人工智能安全(五)—梯度攻击
这个章节主要记载一些梯度攻击的方法1.《Explaining and Harnessing Adversarial Examples》概述:利用 Fast Gradient Sign Method(快速梯度下降法)来对训练好的模型进行攻击,论文不对模型的参数造成攻击,而是在训练过程中依靠梯度反向生成对抗样本,举个例子,如果一个图片的某个像素点在一次训练的反向传播中为了让loss减少,应该是加上某个偏导数,而为了生成对抗样本,则反向的减去一些值,让这个loss反而增大。由于增加噪音无法指定让模型由正确的分
2021-09-14 16:43:24
1389
原创 人工智能安全(四)—DaST
1.《DaST: Data-free Substitute Training for Adversarial Attacks》开头的介绍对抗样本这些就不写了,直接写重要部分这篇文章属于攻击替代模型的。本文创新点:我们一般说的攻击替代模型的方法都是需要知道数据集的,也就是需要拿相同的train数据集或者相近的数据集去训练替代网络,然后将成功攻击替代网络的对抗样本去攻击远程的网络。然而,本文作者不需要任何原始数据集,也是第一个做到不用任何原始数据集去成功攻击的人。论文提供的代码地址:https://gi
2021-09-07 17:27:05
602
原创 人工智能安全(三)—防御
1.《Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks》这篇文章是根据 像素点攻击和特洛伊木马”(Trojans)提出的一种检测是否有这两类攻击的一种检测手段,以及削弱后门攻击的一种手段。像素点攻击的论文提出是这篇文章 :《BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain》特洛伊木马的论
2021-08-31 17:50:01
725
原创 人工智能安全(二)—攻击
1《Deep Leakage from Gradients》代码地址:https://gitee.com/dugu1076/ai-dlg.git(这份代码是我自己全部加上注解后的,删除了所有多余代码,可直接运行,image下的desk.png是我成功攻击过的图片)论文主要成果:提出一种优化算法DLG算法,可以在几个迭代中获取训练输入和标签。算法的主要思路是:假设虚拟输入和标签,计算虚拟梯度,优化虚拟梯度与真实梯度之间的距离,通过匹配梯度使得虚拟数据靠近原始数据。算法具体步骤:首先选取一张Norm
2021-08-17 15:07:27
888
原创 人工智能安全(一)—攻击
开始写一写论文的总结,慢慢补1.《BadNets Identifying Vulnerabilities in the Machine Learning Model Supply Chain》概述:在一张图片上增加一个或者几个像素点来扰乱模型的准确性,导致在某些特定的训练集上精度异常低。2.《Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images》概述:利用遗传算法生
2021-08-01 21:46:19
1050
1
原创 机器学习—LogisticRegression
数据集是从别人那里下载的,代码二也是别人写的,但发现一点小瑕疵改动了下,代码一是本人写的,思想是根据吴恩达机器学习学习来的,强烈推荐,第一次学习,不正确请各位大佬指出。1.数据集-0.017612 14.053064 0-1.395634 4.662541 1-0.752157 6.538620 0-1.322371 7.152853 00.423363 11.054677 00.406704 7.067335 10.667394 12.741452 0-2.460150 6.866805
2021-06-13 17:48:39
176
1
原创 机器学习—线性回归
花了2天时间看了吴恩达老师的机器学习算法的第一章,收获很多,在网易云课堂上可看,虽然是英文版的,且偏向于理论,故在此记录下学习收获和代码实现。1.y=kx+b的线性回归1.1导包与前序工作import numpy as npimport matplotlib.pyplot as plt# 1. 导入数据(两列)data=np.genfromtxt('csv/data.csv', delimiter=',')x_data=data[:,0]y_data=data[:,1]plt.scatte
2021-06-10 17:47:47
192
原创 微信小程序微信登录 springboot
这个太简单了,直接放代码了,通俗的讲就是根据客服端获取的code,来和微信开发平台换取openId 和sessionKey 这两东西咋用就看开发者,openId是微信的唯一标识符,每个人都不一样(在同一个应用中每次登录是一样的)。 private String openid; private String session_key; //开发者平台申请 private String appId=""; private String secret=""; @GetM
2021-02-10 13:48:23
248
原创 微信推送功能 服务端 java springboot
1.首先需要在微信开放平台订阅消息中生成自己的模板。生成模板后获取到对应的 template_id对于客户端来说,主要的工作就是诱导 用户给予推送权限服务端则负责向微信开放平台请求推送代码如下:import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUtil;import org.springframework.stereotype.Service;@Servicepublic class MessageUtil { /
2021-02-10 13:42:34
177
原创 java 生成一维码
package com.Util;import com.google.zxing.BarcodeFormat;import com.google.zxing.BinaryBitmap;import com.google.zxing.DecodeHintType;import com.google.zxing.LuminanceSource;import com.google.zxing.MultiFormatReader;import com.google.zxing.MultiFormatW
2021-02-10 13:26:55
550
1
原创 微信支付java springboot 超详细,带注解
这篇来讲下微信支付的开发上面那张图偷字微信开发文档,微信支付方式有很多种,我们今天主要说的是JSAPI,你问其他的咋整,等我做完了再说啥事JSAPI呢,就是下图这种,通俗的讲就是输入密码的大家可以先康康这个,微信支付的文档,图太大了,扣成了两幅https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4看了上面的图,你的想法应该是,give up,我们从代码一点点来,我会在代码中写注解,对应上面那个步骤,如果你懂,只是想cv 代
2021-02-10 11:57:39
760
1
原创 微信企业向个人账户提现
项目做完了,来总结下,先是微信企业到个人账户建议先过一遍官方文档,虽然我看一遍没看懂。相对于微信支付,企业这个就简单多了先直接上代码 下面这个是工具类package com.Util;import com.wx.pay.WXPayUtil;import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.meth
2021-02-10 11:25:14
781
2
原创 ajax 上传文件 Current request is not a multipart request
今天使用ajax 上传文件,发生了Current request is not a multipart request错误,找了好久都没找到解决办法,该写的都写了form表单ajaxspringboot 接收的方法报错请各位大神来解一解啊,要疯了
2021-01-15 09:19:46
746
1
原创 layui table中嵌套对象提取
在layui中的table 中如果提取到的数据是object中还嵌套这object对象,如果直接显示,则会出现以下的状况,cols: [ [ //表头 {field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'} ,{field: 'bookName', title: 'bookName', width:80} ,
2021-01-12 11:37:14
2084
2
原创 HIbernate逐渐入门02—一对一,一对多,多对多映射
今天研究生了下一对一,一对多,多对多三种方式在Jpa中如何实用一.一对一@Data@Entity@Table(name = "user")public class User { @Id @GeneratedValue private Long id; private String name; //开启级联操作 @OneToOne(cascade = CascadeType.PERSIST) private Student student;}
2021-01-04 21:54:15
1127
原创 HIbernate逐渐入门01-jpa
接手了一个数据表比较多的项目,打算从原来的Mybatis转到hibernate,今日从jpa开始一步步探索1.首先是包引入<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>2.1.0.RELEASE</vers
2021-01-03 21:49:07
134
3
原创 JVM虚拟机内存
1.程序计数器:可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。2.Java虚拟机栈线程私有。生命周期与线程保持一致。虚拟机栈描述的是Java方法执行的内存模型,即每个方法的局部变量表,操作数栈,动态链接,方法出口灯信息。每一个方法对应一个栈帧,注...
2020-01-23 00:17:52
143
原创 uni-app 全局websocket 链接 简易
websocketStore.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({ state: { socketTask: null, eventlist: [] }, mutations: { WEBSOCKET_INIT(state, ...
2019-12-23 10:38:34
6667
8
原创 springboot 打包 maven intellij
pom.xml中加入配置org.springframework.bootspring-boot-maven-pluginrepackagecom.App.AppStart注意mianclass中的文件修改然后直接package就行了
2019-12-21 19:00:12
81
原创 java类加载器种类
图片来源网上启动类加载器测试下各种类加载器public static void main(String[] args) { Object o=new Object(); System.out.println(o.getClass().getClassLoader()); }结果输出null这是因为Object类是jdk自带的类,使用的是启动类...
2019-12-19 23:22:33
223
原创 Java 四种引用
java的引用分为四种,强引用,弱引用,软引用,虚引用。强引用强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。for exampleStudent stu=new Student();这里的stu就是个强引用,就算内存溢出,jvm也不会回收它,如果我们想要回收它,那么就可以stu=null;这样,后面的new student()里的东西就会被JVM回收...
2019-12-19 23:04:50
100
原创 Java实现栈
public class Stack { int[] stack; int in=0; int out=0; int MaxSize; public Stack(int MaxSize){ this.stack=new int[MaxSize]; this.MaxSize=MaxSize; } public v...
2019-11-13 09:58:21
91
原创 Java循环单链表
public class Node { public String num; public Node next=null; public Node(String num){ this.num=num; } public Node(){ num=null; next=this; }}public c...
2019-11-13 09:21:34
176
原创 Java双链表的实现
public class Node { public String num; public Node next=null; public Node pre=null; public Node(String num){ this.num=num; } public Node(){ num=null; }}p...
2019-11-12 22:36:13
202
原创 Java实现单链表
Java 单链表以链的形式存储。public class Node { public String num; public Node next=null; public Node(String num){ this.num=num; } public Node(){ num=null; }}public cla...
2019-11-12 21:57:15
168
原创 Java实现一个Queue(环形数组)
Queue队列应该满足先入先出的原则。这里使用数组实现。public class MyQueue { int front=1; int rear=0; int MaxSize; int[] queue; public MyQueue(int MaxSize){ this.queue=new int[MaxSize]; thi...
2019-11-12 10:45:55
436
原创 Java实现稀疏数组(改进版)
稀疏数组的定义稀疏数组就是数组中,大部分的元素值都未被使用(或都为0),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了解决这问题,并且不影响数组中原有的元素值,我们采用了一种压缩的方式来 表示稀疏数组的内容。代码改进:正常的稀疏数组的每行的数据个数都是统一的,我考虑了不同长度的列,因此将稀疏数组的第二个值改成了总共的数据(原表示每行的个数) public static voi...
2019-11-11 11:01:06
318
1
原创 (迪杰斯特拉)Dijkstra算法详解 PAT甲级 1003
1.迪杰斯特拉(Dijkstra)算法介绍迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最 短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。光看介绍不好理解 ,我们拿PAT中甲级1003的题目来做例子讲解。2.题目解释下,就是N座城市(0-N-1),并且给你M行个距离,也就是从第3行开始到最后,分别意思为 ...
2019-11-04 23:01:15
501
原创 dubbo-ui无法安装成功
今天第一次装dubbo-ui界面,由于阿里将dubbo交给了apache管理,而apache又对dubbo进行了一个大升级,将原来的图形界面的ssm改成了springboot 前后端分离的。而且由于dubbo2.7刚刚出,所以坑很多。这是官网的安装手册http://dubbo.apache.org/zh-cn/docs/admin/introduction.html官网给了两种安装方法如...
2019-08-14 11:52:18
827
原创 Netty学习-伪异步BIO
上一节我们讲了最最传统的BIO,该BIO十分浪费资源,因为其一对一线程的特性。于是出现了伪异步的I/O编程伪异步的I/O模型采用线程池和任务队列。当由新的客户端接入时,降客户端的Socket封装成一个Task投递到后端的线程池中进行处理,JDK的线程池维护一个消息队列和N个活跃线程,对消息队列中的任务进行处理。线程池可以设置消息队列的大小和最大线程数。对上一节中的BIO代码进行改进pack...
2019-08-09 14:53:44
145
原创 Netty学习-传统BIO
传统的BIO通信模型的服务端,通常由一个独立的Acceptor线程负责舰艇客户端的连接,它接收到客户端连接请求后为每个客户端创建一个新的线程进行链路处理,处理完成之后,通过输出流返回应答给客户端,线程销毁。这是典型的一对一请求应答模型。下面是一个Time的代码例子package BIO;import java.io.BufferedReader;import java.io.IOExce...
2019-08-09 14:46:21
103
原创 shiro 登录
直接上代码 使用ini文件代替数据库 @Test public void Login(){ //shiro三大核心 1.SecurityManage 认证判断 2.Subject 页面传入 3.realms 查询数据库 //1创建SecurityManager工厂对象,加载配置文件,创建工厂对象 Factory<SecurityMa...
2019-07-28 12:57:39
122
转载 intellij 配置springmvc项目
目录通过IDEA新建Spring MVC项目设置运行、调试相关配置导入Spring MVC 相关类库添加 Controller修改 url-pattern(web.xml)配置 component-scan(dispatcher-servlet.xml)配置 ViewResolver(dispatcher-servlet.xml)添加视图文件(.jsp)通过 Model 向 Vi...
2019-07-23 12:55:28
226
原创 Servlet的创建
Servlet的创建一共有三种一.最最基础的方式是依靠实现接口 implements Servlet实现了接口就要实现全部 Servlet中的方法 即public void init(ServletConfig config) throws ServletException {//在Servlet创建之前 } public ServletConfig getServ...
2019-07-21 17:50:31
110
原创 springboot拦截器
springboot的拦截器只需要配置两个类即可public class LoginInterceptor implements HandlerInterceptor { private static final Logger log = LoggerFactory.getLogger(LoginInterceptor.class); @Override public ...
2019-06-30 16:52:35
69
原创 elasticsearch springboot 实现分词搜索
实现分词搜索之前必须保证您的springboot 已经连接上了你的elasticsearch这里展示下我的配置信息和pom文件application.ymlspring: data: elasticsearch: ####集群名称 cluster-name: elasticsearch ####地址 cluster-nodes: 4...
2019-05-12 11:40:59
3921
2
原创 elasticsearch failed to load elasticsearch nodes
elasticsearch 安装在linux时使用springboot连接出现failed to load elasticsearch nodes错误我解决这个问题用了1天半的时间,百度上所有的遇到这个问题的人我也都浏览过,解决的办法都不一样,因为产生的原因不一样。说下我解决的办法我使用的是阿里云服务器,因为刚刚开始查阅资料,发现需要使用到9200 和9300端口,所有在阿里云服务器中只...
2019-05-09 22:24:52
19753
10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人