自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 强化学习模型研讨班

强化学习的模型:马尔科夫决策过程1. 强化学习的定义强化学习(Reinforcement Learning. RL)又称为鼓励学习、评价学习或增强学习,是机器学习的重要组成部分之一,用于描述和解决智能体(Agent)在与环境(Enviroment)交互过程中通过学习策略(Policy)以达到回报(Reward)最大化或实现特定目标的问题。2、强化学习和其他机器学习领域的区别和联系强化学习是和监督学习、非监督学习并列的第三种机器学习方法。强化学习和监督学习的区别:强化学习不需要事先准备好训练数据,

2022-04-13 14:13:01 1162

原创 远程服务器的基础操作

远程服务器的基础操作1. SSH 配置免密登录在本地 PC 端终端输入命令:ssh-keygen然后在 C 盘的用户文件夹下 .ssh 中生成两个文件:id_rsa (私钥)、id_rsa.pub (公钥)登录远程服务器配置 ssh 的免密登录在 .ssh 目录下新建 authorized_keys 文件将 id_rsa.pub 中 ssh 公钥的内容写入到该文件:至此 ssh 免密登录验证登录配置完成。2. 如何查看远程服务器 gpu 的占用率在 gpu 环境下直接通过命令 nv

2022-04-11 15:25:22 2256

原创 Spring Boot+Vue 前后端分离项目架构

Spring Boot+Vue 前后端分离项目架构项目流程:1. SpringBoot 后端项目1、新建一个 SpringBoot 工程,并添加项目开发过程中需要的相关依赖;2、数据库新建 book 数据表;-- ------------------------------ Table structure for book-- ----------------------------DROP TABLE IF EXISTS `book`;CREATE TABLE `book` (

2022-03-27 20:04:45 15580 9

原创 Vue Element 安装与使用

Vue Element 安装与使用Vue Element 就是 Vue 的扩展插件。官方文档:https://element.eleme.cn/#/zh-CN建议:按照官网中的文档进行学习,写项目时复制官网代码进行修改。1. 添加依赖在 vue3.0 中使用 element 框架,因为 element-ui 是支持 vue2.0 的,他推出的支持 vue3.0的版本叫 element-plus。安装 element-plus,直接在 IDEA 中 Terminal 中运行:cnpm install

2022-03-14 11:19:06 3004

原创 Vue 异步请求

Vue 异步请求Vue 中使用 axios 进行网络请求,使用起来和 jQuery 中的 $.get 和 $.post 功能类似。安装依赖:cnpm install --save axios1. get 请求方式给定服务器控制器代码,可以接收 name 和 age 参数,设置到 Map 中并返回。注意:控制器上有跨域注解。前后端分离都是跨域请求。且端口不能设置 8080 端口,避免端口冲突。<template> <div id="app"> &

2022-03-13 20:53:57 7122 3

原创 Vue 路由配置

Vue 路由配置为什么使用路由?  在项目中创建了 First.vue 和 Second.vue 两个页面,如果按照组件方式进行操作这两个页面,数据固定显示在 App.vue 中,但是我们知道正常项目都是通过不同的 URL 控制显示不同页面。在 SPA(单页面应用) 项目中,也是需要通过不同的 URL 在 App.vue 中显示不同的数据。路由做的是通过 URL 控制哪个页面显示在 App.vue 中的功能/组件。什么是路由?   在 Vue 中路由就是控制显示哪个页面,通过路由显示的页面是显示在

2022-03-13 16:13:30 6515 4

原创 Vue 自定义组件

Vue 自定义组件与使用1. 初识组件  组件:如果项目中多次用到类似的效果,就可以把这个效果进行自定义组件。新建项目后默认存在 HelloWorld.vue 就是一个组件,组件必须导入之后才能使用,其中 HelloWorld 为自定义名称,通过这个名称就可以调用对应组件。  components:组件文件只导入是不能被调用的,还必须在 components 中注册组件,注册后在 <template> 中就可以通过组件名直接引用组件了。在 <template> 中组件以标签形式

2022-03-13 15:00:21 19599

原创 Vue 基础语法

Vue 基础语法1. Vue 项目结构使用 Vue Cli 创建出来的项目内容比较多,重点关注 src 目录下的文件:publicfavicon.ico:图标index.html:唯一页面src:assertlogo.png:图片componentsHelloWorld.vue 组件。所有可复用的页面都可以做成组件。一般用于开发控制逻辑viewsXxxView.vue:视图组件。用于开发存储的视图逻辑。App.vue 主组件。SPA 项目中所有内容都

2022-03-13 11:18:13 1502

原创 Vue 概述与环境安装

Vue 概述与环境安装1. 前后端分离  前后端分离属于软件架构的一种,其核心思想是把前端项目(Node.js 服务)和后端项目独立部署到不同的服务器上,前端项目再通过 Ajax 请求服务器端项目 Restful 接口实现数据交互。前后端分离就是将一个项目的前端代码和后端代码分开写,为什么要这样做呢?如果不使用前后端分离的方式会有哪些问题呢?  在传统的 JavaWeb 开发中,前端使用 JSP 开发,JSP 不是由后端开发者独立完成的,它需要前端开发人员编写一套静态的 HTML 页面,然后将页面交

2022-03-07 15:38:41 1175

原创 Vue 异步通信、计算属性、slot插槽和自定义事件

Vue 异步通信、计算属性、slot插槽和自定义事件1. Axios 异步通信2. Vue 计算属性3. slot 插槽4. Vue 自定义事件参考【狂神说Java】Vue最新快速上手教程通俗易懂 视频学习内容1. Axios 异步通信Axios 是一个开源的可以用在浏览器和 NodeJS 的异步通信框架,它的主要作用就是实现 Ajax 异步请求通信。CDN 安装方法:<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min

2022-03-02 12:00:45 1462

原创 Vue 基础语法

Vue 基础语法【狂神说Java】Vue最新快速上手教程通俗易懂 笔记:Vue 基本语法、Vue 绑定事件、Vue 双向绑定、Vue 组件讲解。1.v-bindv-bind 主要用于属性绑定。示例如下:<body><div id="app"> <span v-bind:title="message"> 鼠标悬停几秒钟查看此处动态绑定的提示信息! </span></div><script sr

2022-02-28 20:46:50 1405 4

原创 Vue 极简入门

Vue 极简入门1. Vue 概述Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。Vue 是 MVVM 模式的实现者。官方网站:https://cn.vuejs.org/v2/guide/什么是 MVVM 架构?MVVM 源自于经典的 MVC(Model-View-Controller)模式。

2022-02-28 14:43:52 803

原创 SpringBoot 静态资源访问

SpringBoot 静态资源访问1. 默认静态资源路径在 resources 目录下创建 static 或者 public 目录用于存放 images、js、css 等静态资源文件。原因是 SpringBoot 默认的静态资源路径是 {"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"}。说明:resources 资源目录下包括 static、te

2022-02-27 23:38:10 2860 3

原创 深度学习远程服务器配置

深度学习远程服务器配置  在深度学习的科研任务中,很多模型的运行都会用到 GPU 和显存,如果个人计算机的配置有限,我们通常会在单位提供的算力更高、性能更好的服务器上跑大型的模型代码。当然,在正式使用服务器之前,需要向服务器的管理员申请个人账号,然后在自己的工作目录下进行深度学习的环境配置。1. 服务器安装 Anaconda  我们配置深度学习的 Python 环境时,一般会用到 Anaconda 包管理工具(里面自带 Python 和很多模块),可以在清华的镜像网站 https://repo.ana

2022-02-27 00:02:35 2325 1

原创 详解 AJAX-SpringBoot 前后端数据交互

详解 AJAX-SpringBoot 前后端数据交互1. Ajax 概述Ajax 的英文全称是 ”Asynchronous JavaScript and XML“,即 ”异步的 JavaScript 和 XML“。其核心是通过 JavaScript 的 XMLHttpRequest 对象,以一种异步的方式,向服务器发送数据请求,并且通过该对象接收请求返回的数据,从而实现客户端与服务器端的数据交互。优点:Ajax 能够刷新指定的页面区域(局部刷新),而不是刷新整个页面,从而减少客户端和服务器端之间的数

2022-02-24 22:31:18 8768

原创 MyBatis-Plus 代码自动生成

8. MyBatis-Plus 代码自动生成MyBatis-Plus 代码自动生成:可以根据数据表自动⽣成实体类Entity、Mapper、Service、 ServiceImpl 以及 Controller。步骤一:创建 SpringBoot 空白项目,并勾选相关依赖;步骤二:在 pom.xml 中导入 MyBatis Plus Generator;AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、 Mappe

2022-02-23 16:03:48 2024

原创 MyBatis-Plus 条件构造器与多表关联查询

MyBatis-Plus 条件构造器与多表查询1. QueryWrapper 条件构造器准备数据表:编写测试用例:【示例 1】:查询 User 数据表中 name 不为空的用户,并且邮箱不为空的用户,年龄大于等于 25 的数据;@Testpublic void wrapperSelect1(){ //查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于25 QueryWrapper<User> wrapper = new QueryWrapper<&

2022-02-23 15:59:58 7217

原创 MyBatis-Plus 实现乐观锁

MyBatis-Plus 实现乐观锁乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。作用:乐观锁是为了解决并发过程中数据更新冲突的问题,乐观锁能提高并发过程中的程序吞吐量。1、版本号控制使用数据版本(Version)记录机制实现乐观锁,这是乐观锁最常用的一种实现方式。什么是数据版本呢?数据版本具体是指为数据增加一

2022-02-22 21:10:00 2448

原创 MyBatis-Plus 逻辑删除

MyBatis-Plus 逻辑删除准备数据:MySQL-User 数据表信息idnameageemailcreate_timeupdate_time1Jone18test1@baomidou.com2022-02-22 08:56:152022-02-01 08:56:[email protected] 09:00:442022-02-17 09:00:483Tom28test3@baomidou.

2022-02-22 15:34:36 999

原创 MyBatis-Plus 分页查询

MyBatis-Plus 分页查询MySQL-User 数据表信息idnameageemailcreate_timeupdate_time1Jone18test1@baomidou.com2022-02-22 08:56:152022-02-01 08:56:[email protected] 09:00:442022-02-17 09:00:[email protected]

2022-02-22 12:43:06 4068 4

原创 MyBatis-Plus 自动填充

MyBatis-Plus 自动填充1. 更新操作如何根据数据记录的 id 主键来修改记录的字段信息?//更新操作@Testpublic void testUpdate(){ User user = new User(); //通过条件自动拼接动态sql user.setId(1495598121235881986L); user.setName("YCloud"); user.setAge(18); //注意:updateById 的参数是一个对象

2022-02-21 19:07:25 754

原创 MyBatis-Plus 主键生成策略

MyBatis-Plus 主键生成策略接上一篇博客:快速上手 MyBatis-Plus 开发在测试类中执行 Insert 操作,向数据表中插入记录://测试插入操作@Testpublic void testInsert(){ User user = new User(); user.setName("Cloud"); user.setAge(3); user.setEmail("[email protected]"); //MP自动生成id int res =

2022-02-21 13:19:51 1342 2

原创 快速上手 MyBatis-Plus 开发

快速上手 MyBatis-Plus 开发1. MyBatis-Plus 概述MyBatis Plus 是一款基于 MyBatis 数据持久化的国产开源框架,其核心功能就是简化 MyBatis 的开发,MyBatis-Plus 可以节省开发者大量的时间,所有的 CRUD 操作都可以自动化实现。官方网站:https://baomidou.com/只做增强不做改变,引入它不会对现有工程产生影响;只需要简单配置,即可快速进行单表 CRUD 操作,从而节省大量时间;具有丰富的功能,代码生成、

2022-02-21 10:28:21 1183

原创 MyBatis Plus 极简入门

MyBatis Plus 极简入门MyBatis Plus 是一款基于 MyBatis 数据持久化的国产开源框架,其核心功能就是简化 MyBatis 的开发,提高效率。MyBatis-Plus (opens new window)(简称MP)是一个MyBatis (opens new window)的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。1.快速上手 MyBatis PlusSpringBoot 2.3.7 + MyBatis Plus 3.4.2(国产

2022-02-14 23:47:29 576

原创 Element UI 极简教程(1)

Element UI 极简教程Layout 布局Container 布局容器Icon 图标Button 按钮Link 文字链接本节主要介绍 Element UI 中的布局方式以及常用的 icon、Button、Link 组件Layout 布局通过基础的 24 栏划分,可以非常迅速便捷地创建布局。通过 <el-row> 和 <el-col> 组件,并通过 col 组件的 span 属性就可以自由地组合布局。如下代码表示将 24 栏按照等大小划分成 3 个栏。<el-r

2022-02-12 23:07:47 1556

原创 Element UI 的安装与工程创建

Element UI 是一套基于 Vue 的桌面端组件库,封装好了很多常用的 UI 组件,开发者可以使用 Element UI 快速搭建一个网站。官方文档:https://element.eleme.cn/#/zh-CN/component/installation1. 创建 Vue 空白项目安装 Element UI 之前要确保自己的计算机上已经成功安装了 Vue,如果电脑还没有安装 Vue 环境的,可以参考这一篇博客的安装教程。步骤一:创建空白的 Vue 工程,进入 cmd 命令行窗口输入

2022-02-11 21:07:28 1461

原创 Spring Boot 整合 Bootstrap、Spring Data JPA 基础实战

  本文以单表数据的增删改查业务为背景,介绍 Spring Boot 整合视图层Bootstrap框架、Thymeleaf 模板以及 Spring Data JPA等框架的实际应用。1、技术选型:Spring BootThymeleafBootstrapSpring Data JPAMySQL2、需求描述:实现图书信息单表数据的增删改查任务。3、项目演示效果如下图所示:1. 项目初始化第一步:在 IDEA 中新建空白的 SpringBoot 工程,勾选如下几项:注:这些勾选的

2022-01-29 19:28:41 3267

原创 快速上手 Spring Boot 项目开发

1. 从零开始 Spring Boot 工程   Spring Boot 可以快速构建基于 Spring 框架的 JavaWeb 应用,快速整合包括视图层、MVC架构以及持久化层在内的各种框架,不需要由开发者手动配置,Spring Boot 会实现自动装配。本文主要介绍如何从零实现常见的数据CRUD(增删改查)业务,技术上包含了 Spring Boot 整合 MyBatis 、Spring Boot 整合 Thymeleaf 模板。使用 IDEA 新建 SpringBoot 工程;选择【Sprin

2022-01-28 22:19:39 2007

原创 Spring Boot 基础入门

Spring Boot 基础入门1. 什么是 Spring Boot1.1 Spring Boot 概述Spring Boot 的设计目的是简化 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。简单理解 Spring Boot

2022-01-28 13:57:54 417

原创 详解深度学习之 Embedding

深入理解深度学习之 Embedding1. 从 one-hot 编码引入 Embedding在正式介绍 Embedding 之前,我们必须先理解它提出的背景,也就是说研究者提出 Embedding 是为了解决什么问题。首先我们有一个 one-hot 编码的概念。我们知道神经网络是不能处理字符数据的,所以在文本预处理中对一句话进行数值编码,比如对于一句话“我 从 哪 里 来 要 到 何 处 去”,我们可能会很直观的对每个字进行 从 0 到 N(N 表示所有不同字符的个数) 这样的索引编码,于是就有:[

2021-12-09 15:30:21 13971 3

原创 从交叉熵角度理解困惑度(perplexity)

从交叉熵理解困惑度我们通常使用**困惑度(perplexity)来评价语言模型的好坏。通过理解困惑度,也可以让我们更加深入的理解交叉熵(CrossEntropy)**的意义,也可以轻易量化模型的性能。回顾交叉熵以及多分类问题的损失函数。假设现有 NNN 个数据样本,其中样本的标签为 Yi(i=1,2,⋯ ,N)Y_i(i=1,2,\cdots,N)Yi​(i=1,2,⋯,N),而模型对样本的预测值记为 Yi^(i=1,2,⋯ ,N)\widehat{Y_i}(i=1,2,\cdots,N)Yi​​(i=

2021-12-08 17:13:30 3068

原创 现代循环神经网络

现代循环神经网络1. 深度循环神经网络目前为止介绍的循环神经网络只有一个单向的隐藏层,在深度学习应用里,我们通常会用到含有多个隐藏层的循环神经网络,也称作深度循环神经网络。下图中展示了一个有 LLL 个隐藏层的深度循环神经网络,每个隐藏状态不断传递至当前层的下一时间步和当前时间步的下一层。具体来说,在时间步 ttt 里,设小批量的输入 Xt∈Rn×dX_t \in R^{n \times d}Xt​∈Rn×d (样本数为 nnn, 输入特征维度为 ddd) ,第 lll 隐藏层 (l=1,2,⋯ ,

2021-12-06 11:14:25 895

原创 循环神经网络之LSTM、GRU

循环神经网络之LSTM、GRU1. 什么是 LSTM?LSTM(Long short-term memory,长短期记忆)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单而言,LSTM是相比与普通RNN在更长序列数据中表现更好的一类循环神经网络。2. 深入理解 LSTM 结构首先使用 LSTM 的当前输入状态 xtx_txt​ 和上一个传递下来的状态 ht−1h_{t-1}ht−1​ 拼接得到 4 个门控状态。zf=σ(Wf⋅[ht−1,x]+bf)=σ(Wf⋅h

2021-12-06 10:10:57 1352

原创 RNN的时间反向传播原理

RNN的时间反向传播原理  本节将介绍循环神经网络中梯度的计算和存储方法,即通过时间反向传播(back-propagation through time)。正向传播在循环神经网络中比较直观,而通过时间反向传播其实是反向传播在循环神经网络中的具体应用。我们需要将循环神经网络按时间步展开,从而得到模型变量和参数之间的依赖关系,并依据链式求导法则应用反向传播计算并存储梯度。1. 定义模型简单起见,我们考虑一个无偏置项的循环神经网络,且激活函数简化为恒等映射 ϕ(x)=x\phi(x)=xϕ(x)=x。设时间

2021-12-05 15:26:54 2273

原创 基于字符级循环神经网络的语言模型

本节我们介绍如何应用循环神经网络来构建一个语言模型。设小批量中样本数为 1,文本序列为 "h"、"e"、"l"、"l"、"e"。如何使用循环神经网络基于当前和过去的字符来预测下一个字符。在训练时,我们对每个时间步的输出层输出使用 softmax 运算,然后使用交叉熵损失函数来计算它与标签的误差。

2021-12-04 14:02:30 888

原创 使用PyTorch实现简单的RNN

使用PyTorch实现简单的RNN假设 Xt∈Rn×dX_t \in R^{n \times d}Xt​∈Rn×d 是序列中时间步 ttt 的小批量输入,Ht∈Rn×hH_t \in R^{n \times h}Ht​∈Rn×h 是该时间步输入的隐藏变量。计算过程如下::Ht=ϕ(XtWdh+Ht−1Whh+bh)H_{t}=\phi(X_tW_{dh}+H_{t-1}W_{hh}+b_h)Ht​=ϕ(Xt​Wdh​+Ht−1​Whh​+bh​)其中,隐藏层的权重 Wdh∈Rd×hW_{dh} \

2021-12-03 21:23:47 4847 1

原创 从多层感知机理解RNN

多层感知机引入RNN  本节将介绍循环神经网络处理时序类型的数据,它并非刚性地记忆所有固定长度的序列,而是通过隐藏状态来存储之前的时间步信息。首先我们回顾一下多层感知机,然后描述如何添加隐藏状态了将它变成循环神经网络。1.1 不含隐藏状态的神经网络我们先考虑一个含单隐藏层的多层感知机。给定样本数为 nnn、输入个数(特征数或特征向量维度)为 ddd 的小批量数据样本 X∈Rn×dX \in R^{n \times d}X∈Rn×d 。设隐藏层的激活函数为 ϕ\phiϕ,那么隐藏层的输出 H∈Rn×

2021-12-03 10:23:42 303

原创 2. 科研绘图之 matplotlib 图形窗口

matplotlib 图形窗口图形对象(图形窗口)子图;刻度定位器;刻度网格线;半对数坐标;1、图形对象(图形窗口)matplotlib 创建窗口的API# 手动创建 matplotlib 窗口plt.figure( title='title', # 窗口标题栏文本 figsize=(4, 3), # 窗口大小(元组) dpi=120, # 像素密度 facecolor='' # 图表背景色)plt.show()

2021-11-23 14:37:18 2519 1

原创 1. 科研绘图之 matplotlib 基本语法

matplotlib 基本功能  matplotlib 是 Python 的一个绘图库,使用它可以很方便地绘制出版质量级别的图形图片。本节主要介绍的是 matplotlib 的基本绘图功能,即在二维平面坐标系中绘制连续的曲线。设置线型、线宽和颜色;设置坐标轴的范围;设置坐标刻度;设置坐标轴;图例;特殊点;备注;matplotlib 基本功能详解matplotlib.pyplot 绘图核心APIimport numpy as npimport matplotlib.pyplot

2021-11-21 21:43:24 10053 3

原创 6. LaTeX 参考文献的排版与引用

LaTeX 参考文献的排版与引用​ 在论文写作的过程中,为了体现论文的科学性、严谨性和规范性,我们常常需要引用大量的参考文献来引证自己的观点。参考文献(Reference)往往都是放在论文的最后,记录了所引用论文的标题、作者、期刊或会议、出版时间等信息,文中还需要明确有顺序的进行引用标注。​ 本篇将介绍 LaTeX 常用的参考文献排版与引用方式,所用到的宏包都要写在 \documentclass 命令之后和 \begin{docuemnt}之前,在本文中,我们会用的宏包文件有:\usepackag

2021-11-20 12:14:10 51578 7

网上书城系统.zip

本资源的原型来源于黑马程序员的网上书城系统,但是经过笔者的精心设计之后,UI更加美观简洁,包含了系统设计的前后端。其中包括了本次课程设计的项目文档、sql可执行文件、基于Eclipse的源代码,仅供参考学习。

2020-01-10

空空如也

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

TA关注的人

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