自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FCA项目踩坑记录

本文是《FCA: Learning a 3D Full-coverage Vehicle Camouflage for Multi-view Physical Adversarial Attack》论文代码复现过程中的踩坑记录,并着重提及了nueral_renderer安装方法、数据集处理方式等。由于设备环境比较单一且一些处理方式比较主观,文中提到的思路可能具有一定局限性。

2023-08-21 20:18:58 628 5

原创 自然语言处理——使用Transformer构建语言模型

自然语言处理使用Transformer构建语言模型什么是语言模型:以一个符合语言规律的序列作为输入,模型将利用序列间关系等特征,输出一个在所有词汇上的概率分布,这样的模型称为语言模型。# 语言模型的训练语料一般来自于文章,对应的源文本和目标文本形如:src1 = "I can do" tgt1 = "can do it"src2 = "can do it", tgt2 = "do it <eos>"语言模型能解决的问题:根据语言模型的定义,可以在它的基础上完成机器翻译、文

2021-12-04 18:53:59 1506

原创 自然语言处理——Transformer模型架构

自然语言处理TransformerTransformer的优势相比LSTM和GRU模型,Transformer有两个显著的优势:Transformer能够利用分布式GPU进行并行训练,提高模型训练效率在分析预测更长文本时,捕捉间隔较长的语义关联效果更好认识Transformer架构Transformer模型的作用:基于seq2seq架构的Transformer模型可以完成NLP领域研究的典型任务,如机器翻译、文本生成等。同时又可以构建预训练语言模型,用于不同任务的迁移学习在接下

2021-12-04 13:51:49 1355

原创 自然语言处理——使用seq2seq模型架构实现英译法

自然语言处理使用seq2seq模型架构实现英译法seq2seq模型架构图示:seq2seq模型架构分析:从图中可知,seq2seq模型架构,包括两部分分别是encoder(编码器)和decoder(解码器),编码器和解码器的内部实现都使用了GRU模型,这里它要完成的是一个中文到英文的翻译:欢迎 来 北京 --> welcome to BeiJing 编码器首先处理中文输入"欢迎 来 北京",通过GRU模型获得每个时间步的输出张量,最后将它们拼接成一个中间语义张量c,接着解码器将使用这个

2021-11-02 14:56:31 2154

原创 自然语言处理入门——使用RNN模型构建人名分类器

自然语言处理入门使用RNN模型构建人名分类器以一个人名为输入,使用模型帮助判断最有可能是来自哪一个国家的人名,在某些国际化公司的业务中具有重要意义,例如在用户注册过程中,会根据用户填写的名字直接分配可能的国家或地区,并限制其手机号码位数等。整个案例实现可以分为五个步骤:导入工具包对data文件中的数据进行处理,满足训练需求构建RNN模型(包括传统RNN,LSTM及GRU)构建训练函数并进行训练构建评估函数并进行预测导入工具包from io import open# 帮助

2021-10-31 19:43:18 693

原创 自然语言处理入门——RNN架构解析

自然语言处理入门RNN架构解析认识RNN模型RNN:中文称循环神经网络,一般以序列数据为输入,通过网络内部结构设计有效捕捉序列之间的关系特征,一般也是以序列形式进行输出。RNN单层网络结构:以时间步对RNN进行展开的单层网络结构:(这样看起来就和CNN比较像了)RNN的循环机制使模型隐层上一时间步产生的结果能够作为当下时间步输入的一部分。因为RNN结构能够很好的利用序列间的关系,所以针对自然界有连续性的输入如人类的语言,语音等有很好的处理,广泛应用于NLP领域的各.

2021-10-27 21:07:34 688

原创 自然语言处理入门——新闻主题分类任务

自然语言处理入门新闻主题分类任务以一段新闻中的文本描述内容作为输入,使用模型判断最有可能属于哪一种类型新闻。假定每种类型是互斥的,即文本描述有且只有一种类别。# 通过torchtext获取数据import torchimport torchtext# 导入torchtext.datasets中的文本分类任务import torchtext.datasetsimport ospath = './data'if not os.path.isdir(path): os.mkdi

2021-10-25 12:58:32 934 1

原创 自然语言处理入门——文本预处理

自然语言处理入门内容大纲:文本预处理经典序列模型RNN及其变体Transformer迁移学习文本预处理认识文本预处理作用:文本语料在输送给模型前一般需要一系列的预处理工作,才能符合模型输入要求,如将文本转换成模型需要的张量、规范张量的尺寸等。而且科学的文本预处理环节还将有效知道模型超参数的选择,提高模型的评估指标。文本预处理中包含的主要环节:文本处理的基本方法分词词性标注命名实体识别文本张量表示方法one-hot编码Word2vecWord E

2021-10-23 15:29:08 544

原创 自然语言处理入门——文本预处理

自然语言处理入门内容大纲:文本预处理经典序列模型RNN及其变体Transformer迁移学习文本预处理认识文本预处理作用:文本语料在输送给模型前一般需要一系列的预处理工作,才能符合模型输入要求,如将文本转换成模型需要的张量、规范张量的尺寸等。而且科学的文本预处理环节还将有效知道模型超参数的选择,提高模型的评估指标。文本预处理中包含的主要环节:文本处理的基本方法分词词性标注命名实体识别文本张量表示方法one-hot编码Word2vecWord E

2021-10-23 15:24:51 2078

原创 第二章——Pytorch初步应用

Pytorch初步应用使用Pytorch构建一个神经网络构建神经网络的典型流程:定义一个拥有可学习参数的神经网络遍历训练数据集处理输入数据使其流经神经网络计算损失值将网络参数的梯度进行反向传播以一定规则更新网络权重下面是定义一个Pytorch实现的神经网络# -*- coding: utf-8 -*-"""Created on Tue Oct 19 15:50:59 2021@author: Lancibe"""import torchimport torch.

2021-10-20 13:12:23 145

原创 第一章——Pytorch入门

NLP学习笔记Pytorch入门Pytorch基本操作张量 tensorfrom __future__ import print_functionimport torch# 创建一个没有初始化的矩阵x = torch.empty(5,3)print(x)# 创建一个有初始化的矩阵x = torch.rand(5,3)print(x)# 输出都为tensor([n,n,n])可以发现在使用empty方法创建五行三列矩阵时数据并不为0。这是因为empty方法不会将内存中的数据

2021-10-20 13:11:12 120

原创 第5章使用配置属性

Spring实战第5章 使用配置属性细粒度的自动配置在深入了解配置属性之前,我们需要知道,在Spring中有两种不同但相关的配置:bean装配:声明在Spring应用上下文中创建哪些应用组件以及他们之间如何互相注入的配置。属性注入:设置Spring应用上下文中bean值的配置在Spring的XML方式和基于Java的配置中,这两种类型的配置通常会在同一个地方显式声明。在基于Java的配置中,带有@Bean注解的方法一般会同时初始化bean并立即为它的属性设置值。理解 Spring 的

2021-06-17 11:02:52 134 1

原创 第4章保护Spring

Spring实战第4章 保护Spring启用 Spring Security保护Spring应用的第一步就是将Spring Boot Security starter依赖添加到构建文件中<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dep

2021-06-09 17:03:52 102 1

原创 第3章使用数据

Spring实战第3章 使用数据JDBC读取和写入数据在处理关系型数据的时候,Java开发人员有多种可选方案,其中最常见的是JDBC和JPA。Spring同时支持这两种抽象形式,能够让JDBC或JPA的使用更加容易。在本节中,我们将会讨论Spring如何支持JDBC,并在之后讨论Spring对JPA的支持。Spring对JDBC的支持要归功于JdbcTemplate类。可以使我们在执行SQL操作时避免使用样板式代码。下面是一个简单的查询。public Ingredient findOne(S

2021-06-03 10:37:56 100 1

原创 第2章开发Web应用

Spring实战第2章 开发Web应用展现信息Taco Cloud是一个可以在线订购taco的地方。但除此之外,他还允许客户展现其创意,能够让他们通过丰富的配料设计自己的taco。在Spring Web应用中,获取和处理数据是控制器的任务,而将数据渲染到HTML中并在浏览器中展现则是视图的任务。为了支撑taco的创建页面,我们需要构建如下组件。用来定义taco配料属性的领域类用来获取配料信息并将其传递至视图的Spring MVC控制器类。用来在用户的浏览器中渲染配料列表的视图模板。

2021-05-21 12:05:48 142

原创 第1章Spring起步

Spring实战第1章 Spring起步什么是Spring任何实际的应用程序都是由很多组件组成的,每个组件负责整个应用功能的一部分,这些组件需要与其他的应用元素进行协调以完成自己的任务。当应用程序运行时,需要以某种方式创建并引入这些组件。Spring的核心是提供了一些容器,通常称为Spring应用上下文,它们会创建和管理应用组件。这些组件也可以称为bean。将bean装配到一起的行为是通过一种基于依赖注入(dependency injection,DI)的模式来实现的。此时,组件不会再去创建它所

2021-05-17 16:39:03 98

原创 主从复制

MySQL学习笔记主从复制基本原理MySQL复制过程分成三步:master将改变记录到二进制日志(Binary log)。这些记录过程叫做二进制日志事件,binary log events;slave将master的Binary log events拷贝到它的中继日志(relay log);slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的。基本原则每个slave只有一个master每个slave只能有一个唯一的服务器ID每个mast

2021-05-13 17:19:52 79

原创 MySQL锁机制

MySQL学习笔记MySQL锁机制锁的分类从对数据操作的类型来说:读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会相互影响。写锁(排它锁):当前写操作没有完成前,他会阻断其他写锁和读锁。从对数据操作的粒度分类:行锁和表锁三锁开销、加锁速度、死锁、粒度、并发性能只能就具体应用的特点来说哪种锁更加合适三锁:表锁(偏读),行锁(偏写),页锁。表锁特点:偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。下面演示加读锁

2021-05-13 16:30:07 100 2

原创 查询截取分析

MySQL学习笔记查询截取分析对mysql的优化:explainSQL优化分析方法:观察,至少跑一天,看看生产的慢SQL情况。开启慢查询日志,设置阈值,比如超过5秒的就是慢SQL,并将其抓取出来。explain+慢SQL分析show profile查询SQL在MySQL服务器里面的执行细节和生命周期情况。运维经理或DBA,进行SQL数据库服务器的参数调优。小表驱动大表例如以下两种情况,第一种情况是更好的:for(int i = 5; ...){ for(int

2021-05-10 16:21:25 98

原创 索引优化分析

MySQL学习笔记索引优化分析SQL性能下降原因执行时间长、等待时间长四个原因:查询语句繁琐,索引失效,关联查询太多join(设计缺陷或或不得已的要求),服务器调优及各个参数设置(缓冲、线程数等)Join查询机读指令顺序:FROM <left_table>ON <join_condition><join_type> JOIN <right_table>WHERE <where_condition>GROUP BY &l

2021-04-25 17:51:35 93

原创 mysql架构介绍

MySQL学习笔记mysql架构介绍mysql简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。mysql安装linux对于任何用户,都会在home目录下创建一个文件夹。root用户独占一部分空间,其他所有用户占用一部分空间。查看linux用户组的方式:cat /etc/group|grep mysql如果出现了mysql:x:133:则说明安装成功。另外一种查看mysel是否安装成功的方式是:mysqladmin --version,如果

2021-04-19 16:06:18 68

原创 第六章使用JSP

JSP/Servlet学习笔记使用JSP从JSP到Servlet在Servlet中编写HTML实在太麻烦了,应该使用JSP(JavaServer Pages)。尽管JSP中可以直接编写HTML,使用了指示、声明、脚本等许多元素来堆砌各种功能,但是JSP最后还是会成为Servlet。只要对Servlet的各种功能及特性有所了解,编写JSP时就不会被这些元素所迷惑。将介绍JSP的生命周期,了解各种元素的作用和使用方式,以及一些元素与Servlet中各对象的对应。JSP生命周期JSP与Servl

2021-04-09 15:29:20 178

原创 第五章Servlet进阶API、过滤器与监听器

JSP&Servlet学习笔记Servlet进阶API、过滤器与监听器Servlet进阶API每个Servlet都必须由web容器读取Servlet设置信息(无论使用标注还是web、xml)初始化等,才可以真正成为一个Servlet。对于每个Servlet的设置信息,web容器会为其生成一个ServletConfig作为代表对象,可以从该对象取得Servlet初始参数,以及代表整个web应用程序的ServletContext对象。本节将以讨论Servlet的生命周期为开始,知道Servle

2021-03-31 17:49:23 186

原创 第四章会话管理

JSP&Servlet学习笔记会话管理会话管理基本原理Web应用程序的请求与响应是基于HTTP,为无状态的通信协议,服务器不会“记得”这次请求与下次请求的关系。然而有些功能是必须由多次请求来完成,就比如用户在多个购物网页中添加至购物车,Web应用程序必须有个方式来得知用户在这些网页中采购了哪些商品,这种记得此次请求与之后请求间关系的方式,就成为会话管理。本节将介绍几个实现会话管理的基本方式,如隐藏域、Cookie与URL重写(URL Rewriting)的实现方式,了解这些基本会话管理的实

2021-03-22 17:16:15 214

原创 第三章请求与响应

JSP&Servlet学习笔记请求与响应从容器到HttpServlet在前面第二章中,我们看到了Web容器对Web应用程序要求的目的架构,以及相关的部署规范。实际上,对于第一个Servlet程序中HttpServletRequest、HttpServletResponse的使用并没有着墨,这是有关请求与响应的处理。Web容器做了什么第二章中,已经看过Web容器做的事情是创建Servlet实例,并完成Servlet名称注册以及URL模式的对应。在请求来到时,Web容器会转发给正确的Se

2021-03-18 18:44:32 223

原创 第二章Q1

package chapter2;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOExcep

2021-03-13 19:32:20 89

原创 第二章编写与设置Servlet

JSP&Servlet学习笔记编写与设置Servlet第一个Servlet程序import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;import java.io.IOException;import java.io.PrintWriter;@WebServlet("/hello.view")public class H

2021-03-13 19:29:59 123

原创 第十一章AWT编程(2)

Java学习笔记AWT编程AWT菜单前面介绍了创建GUI界面的方式:将AWT组件按某种布局摆放在容器中即可。创建AWT菜单的方式与此完全类似:将菜单条、菜单、菜单项组合在一起即可。菜单条、菜单和菜单项AWT的菜单由如下几个类组合而成MenuBar:菜单条、菜单的容器Menu:菜单组件,菜单项的容器。它也是MenuItem的子类,所以可作为菜单项使用PopupMenu:上下文菜单组件(右键菜单组件)MenuItem:菜单项组件CheckboxMenuItem:复选框菜单组件Men

2021-03-10 18:52:27 125

原创 弹球游戏

使用AWT编程制作简单弹球小游戏import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.Random;public class PinBall { //桌面的宽度 private final int TABLE_WIDTH = 300; //桌面高度 private final int TABLE_HEIGHT = 400; //球拍的垂直位置

2021-03-07 18:05:44 93 1

原创 第十一章AWT编程(1)

Java学习笔记AWT编程Java 9 改进的GUI(图形用户界面)和AWT所有和AWT编程相关的类都放在java.awt包以及它的子包中,AWT有两个基类:Component和MenuComponent#mermaid-svg-mpgDOg56KmJ3NoFq .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid

2021-03-07 15:04:59 505 1

原创 第十章异常处理

Java学习笔记异常处理异常处理机制Java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。当程序运行出现意外情形时,系统会自动生成一个Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处理”分离,提供更高的可读性。使用try…catch捕获异常if (正常){ //业务实现代码 ...}else{ alert 输入不合法 goto retry}上面代码中的if块依然不可表示——一切正常都是很抽象的,无法转换为计

2021-03-03 17:07:11 111 1

原创 proposed system block diagram

#mermaid-svg-GFeqUjXp2jjPyOWs .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-GFeqUjXp2jjPyOWs .label text{fill:#333}#mermaid-svg-GFeqUjXp2jjPyOWs .node rect,#mermaid-svg-GFeqUjXp2j

2021-01-08 18:26:36 181

原创 第九章泛型

Java 学习笔记第九章 泛型泛型入门编译时不检查类型的异常import java.util.ArrayList;import java.util.List;public class ListErr { public static void main(String[] args) { List strList=new ArrayList(); strList.add("lancibe"); strList.add("xun");

2020-12-29 11:25:06 93

原创 第七章Java基础类库

Java学习笔记第七章——Java基础类库与用户互动运行Java程序的参数mian函数的方法签名如下:public static void main(String[] args){...}public:Java类由JVM调用,为了让JVM可以自由调用这个方法,使用该修饰符把它暴露出来static:JVM调用这个主方法时,不会创建对象,而是通过该类来调用,故使用staticvoid:将该方法的返回值返回给JVM没有任何意义String[] args形参:在调用该程序时,在主类名称后增

2020-11-30 20:25:49 122

原创 第六章面向对象(2)

Java学习笔记面向对象(2)Java8 增强的包装类Java的8种基本数据类型不具备对象的特性。为解决基本数据类型变量不能当成Object类型变量使用的问题,Java提供了包装类的概念,为8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类。基本数据类型包装类byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoubleb

2020-11-17 19:43:37 240

原创 第五章面向对象

Java学习笔记第五章——面向对象类和对象Java是面向对象的程序设计语言,Java语言提供了定义类、成员变量、方法等最基本的功能。类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,他们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在。定义类Java语言里定义类的简单语法如下:[修饰符] class 类名{ 零个到多个构造器定义 零个到多个成员变量 零个到多个方法}在上面的语法格式中,修饰符可以是

2020-10-30 09:45:28 454 1

原创 第四章——流程控制与数组

Java学习笔记第四章——流程控制与数组条件结构if控制的条件结构与switch控制的条件结构与C语言完全相同。循环结构for循环结构,while循环结构,do while循环结构也和C语言相同。使用break结束循环:正常用法与C语言相同,即在循环内加入break;当程序执行这一条命令时,将跳出该层循环;但Java中break还可以在后面加入一个标签,如下所示:public class BreakTest { public static void main (String[]

2020-10-20 12:24:34 126

原创 第三章数据类型和运算符

Java学习笔记第三章——数据类型与运算符数据类型分类Java语言是强类型(strongly typed)语言,其包含两个含义:1. 所有变量必须先声明后使用;2. 指定类型的变量只能接受类型与之匹配的值。这意味着每个变量和每个表达式都有一个在编译时就已确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。强类型语言可以在编译时进行更严格的语法检查,从而减少编程错误。声明变量的语法非常简单,只要制定变量的类型和变量名即可,

2020-10-19 13:25:00 104

原创 第三章——数据类型和运算符

Java学习笔记第三章——数据类型与运算符数据类型分类Java语言是强类型(strongly typed)语言,其包含两个含义:1. 所有变量必须先声明后使用;2. 指定类型的变量只能接受类型与之匹配的值。这意味着每个变量和每个表达式都有一个在编译时就已确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。强类型语言可以在编译时进行更严格的语法检查,从而减少编程错误。声明变量的语法非常简单,只要制定变量的类型和变量名即可,

2020-10-18 15:31:28 259 3

原创 Java学习笔记——Java语言概述与开发环境

Java语言概述与开发环境Java语言的运行机制和JVMJava语言比较特殊,由Java语言编写的程序需要经过编译步骤,但这个编译步骤不会生成平台特定的机器码,而是生成一种与平台无关的字节码,也就是*.class文件。当然,这种字节码不是可执行的,必须使用Java语言解释器来解释执行。Java语言里负责解释执行字节码,即JVM。它是可以运行Java字节码的虚拟计算机。所有平台上的JVM向编译器提供相同的编程接口。而编译器只需要面向虚拟机,生存虚拟机能理解的代码,然后由虚拟机来执行。在一些虚拟机的实现

2020-10-09 11:38:59 64

空空如也

空空如也

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

TA关注的人

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