- 博客(31)
- 收藏
- 关注
原创 JavaWeb学习
JavaWeb学习一、基本概念1.1 Web应用程序1.2 静态Web1.3 动态Web二、web服务器2.1 Web服务器种类2.2 发布一个Web网站(Tomcat)三、Http3.1 Http的两个时代3.2 Http请求3.2.1 请求行3.2.2 消息头3.3 Http响应3.3.1 响应体3.3.2 响应状态码一、基本概念静态web:html,css;提供给所有人看的数据始终不会发生变化。动态web:几乎所有的网站;提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同
2022-04-19 16:28:11 536
原创 JavaSE:注解和反射
JavaSE:注解和反射一、注解(Annotation)1.1 注解的格式1.2 内置注解1.3 元注解(meta-annotation)1.4 自定义注解二、反射(Reflection)2.1 反射的概述2.2 获得Class类的几种方式2.3 获取类运行时的结构2.4 动态创建对象的执行方法2.5 反射操作注解的方法一、注解(Annotation)注解的作用:不是程序本身,可以对程序作出解释,可以被其他程序读取。1.1 注解的格式注解是以”@注释名“在代码中存在的,还可以添加一些参数值,例如
2022-04-15 16:15:38 935
原创 Day6: JDBC
Day6: JDBC一. JDBC的测试代码二. JDBC代码解析三. JDBC代码的封装3.1 提取工具类3.2 增删改3.3 查询四. SQL的注入问题五. PreparedStatement对象5.1 增删改5.2 查询JDBC:是SUN公司为了简化开发人员对数据库的统一操作,提供的java操作数据库的规范。一. JDBC的测试代码编写java代码的步骤:step1: 加载驱动;step2: 连接数据库(DriverManager.getConnection),设置用户信息和url;
2022-04-13 20:27:44 567
原创 Day5: MySQL的事务和索引
Day5: MySQL的事务一、事务(Transaction)1.1 **事务开启和关闭流程**1.2 用事务模拟银行转账的操作1.3 保存点的设置(了解)二、索引2.1 索引的分类2.2 索引的创建2.3 索引的测试2.4 索引的原则三、权限管理和备份3.1 SQL命令操作3.2 数据库备份四、数据库设计规范4.1 数据库三大范式一、事务(Transaction)事务:将一组SQL放在一个批次中去执行。事务的原则:ACID原则:原子性(atomicity),一致性(consistency),隔离性
2022-04-12 17:40:29 1259
原创 Day4:MySQL函数
Day4:MySQL函数一、常用函数二、聚合函数(常用)一、常用函数可以通过查询官网来获得,不需要特意去记-- 数学运算SELECT ABS(-8);SELECT CEILING(3.5);SELECT FLOOR(9.2);SELECT RAND(); -- 0~1之间的随机数SELECT SIGN(-10); -- 判断一个数的符号: 负数-1,正数1-- 字符串函数SELECT CHAR_LENGTH('123456'); -- 字符串长度SELECT CONCAT(
2022-04-11 17:11:16 110
原创 Day3:MySQL数据管理
Day3:MySQL数据管理一、外键(了解)1.1 物理外键(数据库级别的外键,不推荐使用)***方式一:******方式二:***二、DML数据操作(重点掌握)2.1 添加(insert语句)2.2 修改(update语句)2.3 删除(delete语句和truncate语句)三、DQL查询数据(最重点)3.1 DQL语言3.2 指定查询字段(Select语句)3.3 where条件子句(Select语句)3.4 联表查询(join语句)3.5 联表查询 -- 自连接3.6 分页和排序(limit语句和o
2022-04-11 15:40:24 432
原创 Day2:MySQL操作数据表语句
Day2:MySQL操作数据表语句一、创建数据库表1.1 **创建数据库表的语句:**1.2 **常用命令:**二、数据表的类型三、数据表的字符集编码四、修改和删除数据库表4.1 **修改表的语句:**4.2 **删除表的语句:**一、创建数据库表1.1 创建数据库表的语句:建表的公式可总结为:CREATE TABLE [IF NOT EXISTS] `表名` ( `列名` 列类型 [属性] [索引] [注释], ...... `列名` 列类型 [属性] [索引] [注释] PRI
2022-04-09 11:04:23 661
原创 Day1:MySQL操作数据库语句
Day1:操作数据库语句一、基础操作1.1创建数据库1.2删除数据库1.3使用数据库1.4查看数据库二、数据库的列类型2.1数值2.2字符串2.3时间日期2.4null三、数据库的字段属性3.1 Unsigned3.2 Zerofill3.3 自增(autoincrement)3.4 非空(Null not null)3.5 默认一、基础操作sql语句是不区分大小写的。1.1创建数据库CREATE DATABASE IF NOT EXISTS westos; -- if not exists可
2022-04-08 17:09:27 297
原创 Day1: MySQL数据库安装及可视化软件SQLyog
Day1: MySQL数据库安装及可视化软件SQLyog一、基础概念1.1 数据库(DB)分类:1.1.1 关系型数据库(SQL)1.1.2 非关系型数据库(NoSQL)1.2 数据库管理系统(DBMS):二、SQLyog可视乎软件的基础操作2.1 启动MySQL的指令:2.2 创建新的数据库:注意字符集和排序规则2.3 创建表格:选择如下图的格式,并添加行的索引2.4 添加数据:打开表,并添加数据,最后进行保存三、基础的命令行操作一、基础概念1.1 数据库(DB)分类:1.1.1 关系型数据库(SQ
2022-04-08 15:48:54 788
原创 Gazbo下的无人车集群导航仿真
Gazbo下的无人车集群导航仿真**1. 建立无人车的URDF模型****2. Gazebo下的无人车仿真****3. Gazebo下的无人车建图及导航****4. Gazebo下的无人车建图及导航**本项目完成了无人车集群导航在Gazebo仿真环境下的实现,虽然只是完成简单的纵列集群,但是其中的过程却很有学习的必要,可以为后边调试更复杂的集群算法奠定基础,特在此记录。参考古月居的项目:https://www.guyuehome.com/48891、视频演示超链接:编队控制编队导航2、效果展示如
2021-08-24 22:28:06 1605 4
原创 强化学习(四)--DDPG算法
强化学习(四)--DDPG算法1. DDPG算法2. DDPG算法代码3. DDPG算法的效果展示上一篇文章介绍了PG算法大类的Reinforce算法,它是一种基于MC更新方式的算法,而它的另一大类是基于Actor-Critic算法,它是一种基于TD更新方式的算法。这一篇文章就来介绍AC算法中应用最多的DDPG算法,它可以直接输出确定性的连续形动作。1. DDPG算法详细的算法介绍还是推荐科老师的课程(公开课地址),TD更新方式是指每一个episode的每一个step都进行算法的更新。DDPG算法有
2021-04-08 12:29:39 5871 1
原创 强化学习(三)--Reinforce算法
强化学习(三)--Reinforce算法1. Reinforce算法2. Reinforce算法的代码实现2.1 Main函数的实现2.2 神经网络的搭建(Net类的实现)2.3 测试函数(test_episode函数的实现)2.4 RF类的实现2.4.1 choose_action 函数2.4.2 store_transition函数2.4.3 learn函数3. Reinforce算法的效果展示前两节的Q-learning和DQN算法都是强化学习中的Value-based的方法,它们都是先经过Q值来选
2021-03-30 15:16:10 13058
原创 (强化学习(二)--DQN算法
强化学习(二)--DQN算法1. DQN算法1.1 Experience replay (经验回放)1.2 Fixed Q target (固定Q目标)1.3 神经网络的LOSS函数2. DQN的代码实现2.1 代码的整体框架2.2 主函数2.3 神经网络的构建(Net类的实现)2.4 DQN类的实现2.4.1 choose_action 和 predict函数2.4.2 store_transition函数2.4.3 learn函数2.5 测试函数(test_episode函数的实现)3. DQN算法效果
2021-03-29 22:24:31 3577 1
原创 强化学习(一)--Sarsa与Q-learning算法
强化学习(一)--Sarsa与Q-learning算法1. SARSA算法2. Q-learning算法3. 代码实现3.1主函数3.2训练及测试函数3.3 SarsaAgent类的实现3.3.1 sample函数3.3.2 predict函数3.3.3 learn函数3.4 Q-learning算法的改变最近实验室有一个项目要用到强化学习,在这开个新坑来记录下强化学习的学习过程。第一节就先来最简单的基于表格型的RL算法,包括经典的Sarsa和Q-learning算法。由于时间原因,关于算法的理论知识
2021-03-15 19:52:53 2288
原创 Pytorch版的yolo-v3目标检测框架
Pytorch版的yolo-v3(一):训练和测试自己的数据集1.整体代码框架2.训练3.测试4.运行结果今天在翻b站时看到一个up主自己写的pytorch版本的yolo3目标检测框架,觉得很有趣就学习了一下,在此记录下学习中值得注意的点。大神的讲解视频:https://www.bilibili.com/video/BV1Hp4y1y788?p=1博客地址:https://blog.csdn.net/weixin_44791964/article/details/105310627源代码地址:htt
2021-03-03 09:58:39 803 4
原创 pytorch深度学习:自编码器Auto-encoder(二)
上一节我们了解了自编码器的基础知识,这一节我们在pytorch上创建一个自编码器用于处理mnist数据集。1.问题的描述关于mnist数据集在这里就不再描述了,相信大家已经很熟悉了。今天使用自编码器有两个目的,即:使用encoder显示压缩的特征数据。使用decoder生成mnist数据集。先对一些超参数进行设置:# 定义一些超参数EPOCH = 10BATCH_SIZE = 64LR = 0.005DOWNLOAD_MNIST = True # 下过数据的话, 就可以设置成 F
2020-12-12 10:36:16 1106 1
原创 pytorch深度学习:自编码器Auto-encoder(一)
这一节,我们来了解下什么是自编码器(AE)。1.自编码器介绍作为一种无监督或者自监督算法,自编码器本质上是一种数据压缩算法。我们可以类比下电脑上的压缩包,自编码器本质和压缩包类似,也是将数据进行压缩再解压的过程。我们用一张图片来解释下AE的本质:白色数据X经过一个神经网络压缩为一个code,code再经过一个神经网络解压后形成黑色数据X,然后通过对比黑白 X ,求出预测误差, 进行反向传递, 逐步提升自编码的准确性。 训练好的自编码中间code这一部分就是能总结出原数据的精髓。2.自编码器结构
2020-12-10 18:09:37 1618 2
原创 pytorch深度学习:RNN循环神经网络(二)
上一节了解到了RNN和LSTM的基础知识,这节我们使用LSTM网络对mnist手写数字数据集进行处理。重点了解LSTM网络的搭建方法以及各个参数所代表的含义。1.问题的提出我们知道RNN一般是用来处理具有时间序列的数据,但是mnist数据集是图像数据,怎么进行处理呢?这里我们将mnist手写字数据的每行当作不同时间点的数据,也就是一张图片是由28个时间序列数据组成,即Time_step=28,每个时间序列数据包含28个像素点,也就是Input_size=28。第一步,我们来创建一些超参数:# 定义一些
2020-12-09 11:04:38 585
原创 pytorch深度学习:RNN循环神经网络(一)
如果说CNN是神经网络在图像处理中应用最多的方法,那么RNN就是用在自然语言处理领域用得最多的方法。接下来的几节就用来学习下RNN的知识,以及怎么用pytorch来搭建一个RNN网络。博客中的图片来自李宏毅老师的课程,课程中对于LSTM的讲解真的非常清晰,可以多观看几遍。同时也有篇很好的博客可以参考:博客。1.RNN的介绍RNN也叫循环神经网络,全称为Recurrent Neural Network,它是一种对序列型数据进行处理的深度模型。它的原理框架如下图展示的一样:它通过记忆单元(Memory
2020-12-06 21:05:55 504
原创 pytorch深度学习:CNN卷积神经网络(三)
上两节博客,分别学习了卷积神经网络的基础知识和处理手写字数据集,具体的可以看前边两篇博客:CNN基础知识CNN处理mnist数据集mnist只是单一高度(channel)的数据集,使用卷积处理时的卷积核是二维平面形状,而实际情况下我们要处理的往往是彩色图像,因此是有高度(channel)值的,这时卷积核更像是一个立方体的样子,看下面的图就很好理解了。1.问题的提出这节课我们用另一个著名的数据集CIFAR-10来做彩色图片分类,CIFAR-10是一个常用的彩色图片数据集,它有10个类别airpla
2020-12-06 10:11:52 730
原创 pytorch深度学习:CNN卷积神经网络(二)
在学习完卷积神经网络后,我们用CNN来处理下mnist手写字数据集,以此来学习CNN的搭建方法。1.知识回顾1.1 mnist手写字数据集手写字数据集mnist的每个样本是一个28×28的矩阵,每个点表示该点的灰度值。在用全连接网络做识别时,我们要将每个样本展开成784(28×28)的一维向量,作为输入层输入全连接网络。而用CNN的时候,就不需要再展开了,而是直接以矩阵的形式进行处理。1.2 卷积神经网络的结构卷积神经网络由卷积层、池化层、全连接层构成,因此我们要对每层都进行创建。2. CNN网
2020-12-05 21:02:46 839
原创 pytorch深度学习:CNN卷积神经网络(一)
卷积神经网络(CNN)是在图像、视频识别处理领域应用最多的深度学习方法。这次就来学习下卷积神经网络的基础知识。这里只简单介绍下卷积神经网络的入门知识,想再深入学习可以看下吴恩达、李宏毅老师的CNN课程。1.卷积神经网络的介绍如果我们采用传统神经网络来处理图像,由于图像分别率很高的原因导致输入数据的维度特别高,所以神经网络中的参数数量会太大。针对这个问题,CNN就被提出了。在卷积神经网络中,第一个卷积层会直接接受图像像素级的输入,每一层卷积都会提取数据中最有效的特征。我们以人眼识别物体来类比卷积层,人眼
2020-12-05 17:00:14 1330
原创 pytorch深度学习:手写数字识别(实战项目一)
经过前边基础知识的铺垫,已经足够完成深度学习中的"hello world"项目:手写数字识别。这节课就是利用pytorch完成这个实战任务,它的本质上是个10分类问题。1.MNIST数据集mnist手写字数据集是机器学习领域经典的数据集,这里就不详细介绍了。它的每个样本都是(28,28)的矩阵构成,每个数据点代表这个点的灰度值,标签则是0-9这十个数字。数据集又分为训练集和测试集,训练集由60000个样本组成,测试集由10000个样本组成。我们使用批数据处理将数据打包为训练集和测试集,Batch_si
2020-12-05 11:27:00 6217 4
原创 pytorch深度学习:批数据处理
实际应用时的训练数据往往都太大了,一次加载到电脑里可能内存不够,其次运行速度也很慢。那自然就想到,不如把训练数据分割成好几份,一次学习一份,这也就是神经网络中常用到的批数据处理。1. 问题的提出举一个简单的例子,我们假设要训练的数据和标签为x,y,共有10个样本,批数据处理就是将这些样本分成小块来喂给网络进行训练。生成x,y数据:x = torch.linspace(1, 10, 10) # x data (torch tensor)y = torch.linspace(10, 1, 1
2020-12-04 17:18:11 2529
原创 pytorch深度学习:模型的保存和提取
在学习完搭建神经网络模型后,有时需要对模型进行保存和提取,这节课就是讲述如何在pytorch中实现。1. 问题的提出我们使用回归这节课建立的神经网络来作为要保存的模型,具体的模型建立过程可以参考我这篇博客。它是对一元二次方程进行拟合的模型 (net1)。2. 模型的保存神经网络模型的保存有两种方法:保存整个网络模型。只保存网络模型的参数(速度快,占用内存少)。# 1.保存整个模型torch.save(net1,'net.pkl')# 2.只保存模型参数torch.save(net1.
2020-12-02 16:15:31 3195
原创 pytorch深度学习:神经网络实现数据分类(分类问题)
这一节,用pytorch实现神经网络分类问题,再次熟悉pytorch搭建神经网络的步骤。1. 问题的提出分类问题是将数据划分种类的一种问题,常见的有二分类和多分类问题,这节就是做一个简单的二分类问题。同样,我们先做一组数据。其中第一组数据的标签为0,第二组数据标签为1。# x0,x1是数据,y0,y1是标签n_data = torch.ones(100, 2) # 数据的基本形态x0 = torch.normal(2*n_data, 1) # 类型0 x data (t
2020-12-02 14:49:21 41203 8
原创 pytorch深度学习:神经网络拟合方程(回归问题)
神经网络入门的应用就是拟合方程,这篇文章就针对这个问题来熟悉pytorch怎么搭建神经网络模型。1. 问题提出我们要拟合的是y = x^2这个最简单的一元二次方程,首先要创建我们的x,y数据,它们都是100*1维的数据,对y加了一个噪声,让它具有一些离散性。# 建立数据:拟合y = x^2曲线x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1)y = x.pow(2) +
2020-12-02 11:14:07 11873
原创 pytorch深度学习:pytorch基础操作
今天开始入坑深度学习,首先学习难度较低的pytorch框架。这一篇文章就是简单学习下pytorch的基本操作。1. pytorch数据类型pytorch中的数据类型为tensor,它的基本操作和numpy都挺相似的。要注意的有两个地方,要查看数据的形状不再是shape(),而是view();改变形状不再是reshape(),而是view()。import torchimport numpy as npa = torch.zeros(5,3,dtype=torch.long) # 创建全0矩阵
2020-12-02 09:55:09 379
原创 Python学习:Pandas库基础知识
总结完了numpy库的基础知识,当然不能少了Pandas库,pd库是基于numpy的,它有两种数据形式:Series和Dataframe。这篇文章总结的都是对Dataframe格式的数据进行操作。Series的操作和对ndarray格式的操作很像,可以参照numpy的处理方法。它们的不同有一个博主写的很好:Series和Dataframe的不同。我的numpy库基础知识总结:numpy库1. Pandas的数据基本操作1.1 查看数据的基本信息pandas一般用来读取某些表格,并对其中的数据进行处
2020-11-30 16:25:34 1757
原创 Python学习:numpy库基础知识
前言: 入门深度学习的时候,发现自己学习numpy库不成系统,很多知识点记忆的很凌乱,于是花了一点时间整理下常用numpy库的知识。1. numpy的基础知识numpy具有自己特有的数据格式:ndarray格式。要进行numpy库的使用就要先将创建的列表数据转换成这个格式,转换方法就是np.arrary() 这个函数。import numpy as npvector = np.array([[1,2,3,4],[5,6,7,8]]) # 转化为numpy可用的ndarray形式2.
2020-11-30 12:58:27 496
原创 Python学习:类(Class)
类首先,创建一个名为‘Dog’的类,其中要包含构造函数和 自定义函数。类的创建构造函数:init它共有三个参数,分别为'name'、'price'、'age',构造函数实现的功能就是将传入的参数添加到类的属性参数中。构造函数在调用类的时候会自动运行。自定义函数:shuchu(self)这个函数的名称是自己定义的,要注意的是自定义函数的参数中一定要调用self,而且在类中使用的参数是属性参数(如:self.age)。class Dog(): def __init__(self,n
2020-11-29 18:50:38 241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人