自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis—ResultMap结果集映射与日志工厂、分页

解决属性名和数据库字段名不一致的问题1.查询为null的问题1.查看之前的数据库字段名2.java实体类设计3.接口User getUserbyid(int id);//根据id查询用户4.mapper映射文件 <select id="getUser" resultType="com.xiong.pojo.User"> select * from mybatis.user; </select>4.测试 @Test p

2021-06-07 16:44:54 297 2

原创 Mybatis—生命周期和作用域

Mybatis—生命周期和作用域程序运行时,mybatis的加载运行过程如上SqlSessionFactoryBuilder1.SqlSessionFactoryBuilder:从xml配置文件中加载配置参数,用于创建一个SqlSessionFactory工厂。之后程序与之打交道的只有SqlSessionFactory 和 SqlSession,因此这个工厂建造者不用给太长的生命周期、太大的作用域。2.它的生命周期只有在创建SqlSessionFactory工厂时需要,创建完工厂之后可以立即失效(

2021-06-07 15:41:01 226

原创 Mybatis—配置解析、别名优化、映射器解析

属性优化别名优化映射器说明1.核心配置文件说明(mybatis-config.xml)先看一下我的核心配置文件的总体大概:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><c.

2021-06-07 15:30:21 233

原创 Mybatis—CURD以及模糊查询

命名空间namespace:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!1.查询(select)select:接口中的方法名与映射文件中的SQL语句ID 一一对应idparameterTyperesultType案例:根据id查询用户1.写接口(在UserMapper中添加对应的方法)public interface UserMapper { //根据ID查询用户 User getuserByID(int id);

2021-06-07 11:12:38 150 1

原创 第一个Mybatis程序

1.什么是Mybatis?1.MyBatis 是一款优秀的持久层框架2.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。3.MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。2.怎么获得Mybatis?maven仓库:<!-- https://mvnrepository.com/artifact/org.mybatis/m

2021-06-05 22:31:00 191 2

原创 HttpServletResponse

HttpServletResponse功能:设置响应消息,由服务器创建。web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象、代表响应的一个 HttpServletResponse对象;如果要获取客户端请求过来的参数:找request 如果要给客户端响应一些信息:找response设置响应行格式:HTTP/1.1 200 ok1、设置状态码setStatus(int sc)2、设置响应头setHeader(String

2021-05-26 20:13:12 891 1

转载 关于深度学习中的Precision和Recall的一些理解

precision和recall。这是论文中经常提及的两个概念。我们举这样的一个例子:我们现在有一个检测狗的任务,但是这个任务数据中包含了猫。那么我们这个时候就有一个问题,我们怎么描述一个物体被检测出来呢?为此,我们引入了IOU这个概念?我们规定IOU > 0.5表示物体被检测出来,否则没有。现在我们有了这个指标,我们开始跑数据。假设我们已经把网络训练好了,接着找来一张图片测试(这张图片上有四个狗和三只猫),测试结果这样的(我们的目标是找图片中的狗)标注的数字表示IOU值,我们只选择IOU

2021-05-24 09:56:25 2784

原创 Servlet

Servlet简介本质上一个java程序Servlet是sun公司开发的动态web的一门技术Sun在这些API中提供了一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤:1、编写一个类,实现Servlet接口2、把开发好的java类部署到web服务器中把实现了Servlet接口的java程序叫做 ServletHelloServlet1、构建一个普通的Maven项目,删掉Src目录,以后的学习就在这个项目里面建立model;这个空的工程就是maven的主工

2021-05-19 22:50:26 66

原创 Maven

Maven1、下载安装2、配置环境变量阿里云镜像配置本地仓库1、下载安装2、配置环境变量出现问题该怎么解决:JAVA环境配置有误。JAVA_HOME变量配置了其他东西如图 :下图是正确的。查找jdk或者jre的安装完位置java -verbose测试MAVEN是否安装成功?阿里云镜像作用:加速我们的下载,国内建议使用阿里云镜像or_FFFFFF,t_70)配置本地仓库在本地的仓库,远程仓库建立一个本地仓库...

2021-05-18 22:34:33 73

原创 Http知识点

HTTP知识点什么是HTTP?两个时代http请求http响应什么是HTTP?HTTP(超文本传输协议)是一个简单的相应请求协议,他通常运行在TCP之上。文本:html,字符串超文本:图片,音乐,视频,定位…端口号为80HTTPS:安全的两个时代http1.0:客户端与WEB服务器连接之后,只能获得一个web资源,需要断开连接http2.0:客户端与web服务器连接之后,可以获得多个web资源http请求客户端----发出请求(Request)----服务器以百度为例子:请求行中的

2021-05-18 21:31:39 856 3

原创 Tomcat讲解

Tomcat1.安装文件夹的作用:点击startup.bat启动失败,我就用cmd命令打开,发现是没有JAVA_HOME 环境。这是因为电脑上没有配置JAVA_HOME或者JRE_HOME导致的

2021-05-18 15:37:07 188

原创 JDBC

JDBC数据库驱动:我们的程序时通过数据库驱动来和数据库打交道对于开发人员来说,只需掌握JDBC的接口即可:第一个JDBC程序首先需要导入数据库驱动将jar包拷贝到建立好的lib文件夹下然后对lib文件进行右键鼠标看到下图就是导入数据库驱动成功测试代码:package JDBC;import java.sql.*;public class jdbcFirstDemo { public static void main(String[] args) throws Class

2021-05-16 21:37:03 106

原创 CSS前端基础

CSS前端基础1.CSS的快速入门1.CSS的快速入门<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title><!-- 可以编写CSS的代码 语法: 选择器:{ 声明1: 声明

2021-04-28 11:21:22 188 1

原创 数据结构——队列

数据结构——队列1、**基本属性**:2、**普通队列:**3、链表实现队列的概念:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。1、基本属性:队头front:删除数据的一端。对于数组,从后面插入更容易,前面插入较困难,所以一般用数组实现的队列队头在前面。(删除直接index游标前进,不超过队尾即可)。而对于链表。插入删除在两头分别进行

2021-04-27 21:10:50 216

原创 HTML前端基础

W3C标准:World Wild Web Consortium(万物网联盟)成立于1994年,Web技术领域最权威和最具有影响力的国际中立性技术标准机构W3C标准包括:结构化标准语言(HTML/XML)表现标准语言(CSS)行为标准(DOM/ECMAScript)1、初识HTML<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title

2021-04-26 14:55:11 163

原创 leetcode 双指针算法专题

什么叫做双指针算法?双指针是一种方法,一种思想一种技巧,也谈不上什么特别的算法,在二分查找中经常使用这个技巧,具体就是用两个变量动态的存储两个或者多个的结点,来方便我们进行一些操作,通常使用在线性结构中,比如说数组或者是链表。在我们遇到像数组,链表这类数据结构的算法题目的时候,应该要想得到双指针的来解决问题。特别是链表类的题目,经常需要用到两个或多个指针配合来记忆链表上的节点,完成某些操作。链表这种数据结构也是树形结构和图的原型,所以有时候在关于图和树形结构的算法题目中也会用到双指针。1、快慢指针1

2020-12-18 10:35:09 278

原创 Day3-1 leetcode 283. Move Zeroes

Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.方法一:直接遍历,一个个的把0往后面调整(但是有一个问题就是时间复杂度太高,leetcode不予通过)比如说:[0,1,0,3,12]看左边的 元素是否为零,右边的元素是否不为0,如果是这样的情况,就进行交换并且一次循环只交换一次,再

2020-12-11 16:13:49 95

原创 Day2-2 leetcode 53. Maximum Subarray

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.Follow up: If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach

2020-12-10 11:34:36 98

原创 Day2-1 leetcode202Happy number

Write an algorithm to determine if a number n is “happy”.A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number e

2020-12-10 10:26:49 116

原创 Day1-1 leetcode 136 :Single numble

合理采用位运算Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.Follow up: Could you implement a solution with a linear runtime complexity and without using extra memory?两种解法,第一个是嵌套循环遍历,但是时间复杂度较高,消耗了太多的

2020-12-09 12:53:54 90

原创 如何通过labelme标注将json文件转为png的label

1、安装labelme1、创建一个新环境conda create -n labelme python=3.62、进入该环境,安装pyqt5和labelme,labelme要求3.3.1的版本pip install pyqt5 -i https://pypi.doubanio.com/simplepip install labelme==3.3.1 -i https://pypi.doubanio.com/simple 3、安装完成后,直接输入labelme,打开labelme软件即可la

2020-07-06 12:37:15 5310 12

原创 MobilenNet模型

MobilenNet模型深度可分离卷积MobileNet的结构1、主干模型2、Unet解码部分深度可分离卷积MobilenNet模型是一种轻量级的网络,核心思想便是深度可分离卷积(depthwise separable convolution)正常卷积:卷积参数的总数=属性的总数x卷积核的大小。深度可分离卷积:深度可分离卷积的方法有所不同。正常卷积核是对3个通道同时做卷积。也就是说,3个通道,在一次卷积后,输出一个数。深度可分离卷积分为两步:1、第一步用三个卷积对三个通道分别做卷积,这样在一次卷

2020-07-03 11:20:37 497

原创 YOLO V4论文解读

YOLO V4论文解读一、YOLOV3回顾二、YOLOV4中三、Bag of freebies数据扩充:模拟对象遮挡:结合多幅图像进行数据扩充:解决类别不平衡:label smoothingbbox:Yolov4-use:四、Bag of specials1、 enhance receptive field(扩充接受阈): SPP, ASPP, RFB2、 attention module:3、feature integration:(特征集成)4、activation function:5、post-pr

2020-06-23 14:27:37 1505

原创 数据集少?那就来数据增强吧?

这几天老师给了我一个任务,让我识别螺栓和法兰盘,但是老师也是够高冷的,就给我了6张图片,让我训练?让我目标检测?6张图片检测个屁啊…不过我自己也想到了数据集增强,用opencv进行图片的翻转,平移,调节亮度啊,调节对比度等等。有两个思路第一个思路是,先直接增强图片,把图片弄很多张,然后再一个个的去用labelimg去标注,其实想想,这个工程量也蛮大的吧,确实很大,我在傻傻的自己标注了30张图片之后,心很累。就想有没有一种方法,我这六张图片标注好了,也生成对应的.xml文件了,直接图片和对应的标注文件一

2020-06-11 20:06:22 4355 13

原创 Python批量修改.xml文件里的路径

在做目标检测的时候,下载的或者是别人的数据集里的.xml文件的路径,需要修改为自己的图片的保存的地址,比如:别人的数据集的图片保存路径为:D:\PyCharmAnaconda\BoltDetection\JPEGImage\000001.jpg通过Python脚本实现之后图片路径正确改变了修改后的路径为:E:/Data_study/yolo_tf2.1/VOCdevkit/VOC2007/Annotations/000001.jpg下面说说代码实现:import osimport os.p

2020-06-11 08:25:50 1476 3

原创 tf2-yolov3训练自己的数据集

tf2相比于tf1来说更加的友好,支持了Eager模式,代码和keras基本相同,所以代码也很简单,下面就如何用tf2-yolov3训练自己的数据集。项目的代码包:链接: tf2-yolov3.需要自行下载至于tf2-yolov3的原理可以参考这个链接,我觉得是讲的最好一个:链接: yolov3算法的一点理解.tf2-yolov3训练自己的数据集1、配置相关的环境2、使用官方权重进行预测二级目录三级目录1、配置相关的环境我是在linux上跑的,linux上配环境比较简单,相关windows配环境可

2020-06-10 11:19:32 2695 17

原创 TensorFlow2—YOLOv2

学习yolo也有一段时间了,一直在死磕yolov3,最后想想还是先把yolov2先好好捋一遍吧,原理搞懂不难,代码实现对于我这种基础比较差的人,还是有一点难度。好了废话不多说,我们先看看yolo算法的相关原理吧。Tensorflow-YoloV21、YOLOv2论文解读2、tf2-yolov2代码实现2.1 训练数据预处理2.1.1 统一改变输入图片尺寸2.1.2 解析XML文件2.1.3 读取图片(图片数据预处理)2.1.4 真实标签格式处理(单张图片)2.1.5 真实标签格式处理(批量图片)1、YO

2020-06-08 21:49:43 899 1

原创 Linux小操作——将状态栏调整至底部

在终端输入gsettings set com.canonical.Unity.Launcher launcher-position Bottom如果遇到以下问题Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applicat输入这条命令export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/

2020-06-03 14:39:17 2311

原创 Tensorflow2——图像定位

图像定位1、单张图片图像定位2、随意尺度图片定位3、批量图片定位一级目录给定一副图片,我们要输出四个数字(x,y,w,h),图像中某一个点的坐标(x,y),以及图像的宽度和高度,有了这四个数字,我们可以很容易的找到物体的边框。1、单张图片图像定位import tensorflow as tfimport matplotlib.pyplot as plt%matplotlib inlineimport numpy as npfrom lxml import etreeimport globf

2020-06-02 07:35:48 1947 1

原创 Tensorflow2——模型的保存和恢复

模型的保存和恢复1、保存整个模型2、仅仅保存模型的架构(框架)3、仅仅保存模型的权重4、在训练期间保存检查点1、保存整个模型1)整个模型保存到一个文件中,其中包含权重值,模型配置以及优化器的配置,这样,您就可以为模型设置检查点,并稍后从完全相同的状态进行训练,而无需访问原始代码2)在keras中保存完全可以正常的使用模型非常有用,您可以在tensorflow.js中加载他们,然后在网络浏览器中训练和运行它们3)keras中使用HDF5标准提供基本的保存格式import tensorflow as

2020-05-31 10:19:23 1042

原创 Tensorflow2——使用预训练网络进行迁移学习(Vgg16)

想要将深度学习应用于小型图像数据集,使用预训练网络就是一种常用且高效的方法。预训练网络就是一个保存好的网络,之前已在大型数据集上训练(通常是大规模图像分类任务)。如果训练的原始数据集足够大且足够通用(如imagenet数据集),那么预训练网络学到的特征的空间层次结构可以有效的作为视觉世界的通用模型,因此这些特征可用于不同的计算机视觉问题。这种学习到的特征在不同问题之间的可移植性,也是深度学习与其他浅层方法相比的重要优势。使用预训练网络有两种方法,特征提取和微调模型。微调模型是用于特征提取的冻结的卷积基,将

2020-05-20 18:21:51 2771

原创 史上最成功安装Pytorch快速方法【亲测绝对有效,很好用很好用】

Pytorch详细安装教程1、安装Anacoda2、在Anacoda环境中新建一个pytorch环境3、按照官网的方法安装pytorch4、测试安装up在试了网上很多教程之后,一次次的都错,真的是安装了无数遍GPU版本的pytorch,使用清华源镜像但是有个巨坑,查了很多博客,终于有了点头绪顺利解决安装问题速度飞快。1、安装Anacoda链接: Anacoda下载地址.具体的安装过程,网上一堆教程,自行查看记得配置环境变量2、在Anacoda环境中新建一个pytorch环境至于为什么要新建一个

2020-05-19 19:00:06 8388 22

原创 Tensorflow2——tensorboard可视化

下面通过手写数字数据集来介绍如何使用tensorboard可视化可以两种方法,一种是再notebook里,还有一种是网页打开。jupyter notebook 调试import tensorflow as tf import numpy as npimport datetimeimport osfrom tensorflow.compat.v1 import ConfigProtofrom tensorflow.compat.v1 import InteractiveSessioncon

2020-05-14 18:31:36 1006

原创 三维空间的刚体运动

三维空间的刚体运动1)旋转矩阵2)变换矩阵3)欧拉角4)四元数一个刚体在三维空间中的运动如何描述?我们知道是由旋转加平移组成的,平移很简单,但是旋转有点麻烦。三维空间的刚体运动的描述方式:旋转矩阵、变换矩阵、四元数、欧拉角。刚体,不光有位置,而且还有姿态。相机可以看成是三维空间的一个刚体,位置指的就是相机在空间处于哪个地方?而姿态指的是相机的朝向(例如:相机位于(0, 0,0)点处,朝向正东方)但是这样去描述比较繁琐。1)旋转矩阵1、坐标系间的欧式变换欧式变换:相机运动是一个刚体运动,他保证

2020-05-13 17:18:18 892

原创 Tensorflow2——Eager模式简介以及运用

Eager模式简介以及运用1、什么是Eager模式?2、Eager模式下的基本运算1)基本运算2)当做python运算的时候,tensor自动的变成一个python对象去参与运算3)有关于变量的相关操作3、如何自动求解微分1)对于变量情况:2)对于常量来说:3)对于多次微分:3、自定义训练1)导入数据,创建Dataset2)创建模型3)自定义训练1、什么是Eager模式?使用过TensorFlow的大家都会知道, TF通过计算图将计算的定义和执行分隔开, 这是一种声明式(declaretive)的编程模

2020-05-13 12:08:19 5591

原创 Python小脚本——批量顺序读取修改文件夹内文件名

涉及到一些os读取的方法os详细请见:import os总结.import ospath = 'D:\\Data_study\\kkgznzz\\'count =10000for file in os.listdir(path): #遍历文件夹的所有图片 file 代表的是每个图片的全名 os.rename(os.path.join(path,file),os.path.join(path,str(count)+".jpg")) count+=1print("转换成顺序图片结束"

2020-05-12 15:26:23 528

原创 Tensorflow2——卷积神经网络之猫狗识别

今天复习了一下卷积神经网络的猫狗识别部分,主要还是加强了数据的读取和数据的预处理这一部分。学会用tf.data去创建数据集,用tf.keras来创建模型,直接上代码。这里写目录标题1、卷积神经网络之猫狗识别1)数据集的创建2)图片数据预处理3)模型的创建与训练4)绘图展示1、卷积神经网络之猫狗识别1)数据集的创建lambda的详情可参考:链接: 关于Python中的lambda,这篇阅读量10万+的文章可能是你见过的最完整的讲解.import tensorflow as tf from ten

2020-05-12 08:26:13 3281

原创 SLAM——Linux操作学习

SLAM之Linux操作学习编写一个简单的HelloSLAM程序1、使用g++编译器进行编译2、使用CMake进行编译3、连接到库编写一个简单的HelloSLAM程序1、使用g++编译器进行编译首先在/home 目录下创建一个文件夹,里面创建若干文件夹mkdir slambookcd slambookmkdir coodcd coodmkdir ch2cd ch2现在已经进入到ch2文件夹下,开始编写一个简单的C++程序,首先创建一个C++文件,touch helloSLAM.cpp

2020-05-11 14:04:03 411

原创 Tensorflow2——卷积神经网络的搭建

Tensorflow2卷积神经网络的搭建卷积神经网络Fasion_minst识别卷积神经网络搭建代码卷积神经网络1、卷积神经网络CNN最大的特点就是在于卷积的权值共享,利用空间结构减少学习的参数量,防止过拟合的同时减少计算量。在卷积神经网络中,第一个卷积层直接接受图像像素级的输入,卷积之后传给后面的网络,每一层的卷积操作相当于滤波器,对图像进行特征提取,原则上可保证尺度,平移和旋转不变性。一般的卷积网络包含一下操作:(1)卷积。图像通过不同卷积核卷积并且加偏置(bias),提取局部特征,每一个卷积

2020-05-09 17:18:44 2080 2

原创 TensorFlow2学习——tf.data模块

tf.data API的使用tf.data.Dataset:表示一系列元素,其中每个元素包含一个或多个 Tensor 对象。例如,在图片管道中,一个元素可能是单个训练样本,具有一对表示图片数据和标签的张量。可以通过两种不同的方式来创建数据集。直接从 Tensor 创建 Dataset(例如 Dataset.from_tensor_slices());当然 Numpy 也是可以的,TensorFlow 会自动将其转换为 Tensor。通过对一个或多个 tf.data.Dataset 对象来使用变换(例如

2020-05-08 21:33:49 693

空空如也

空空如也

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

TA关注的人

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