自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 牛客网--刷题

1.描述:输入4个整数,分别为:A-B;B-C;A+B,B+C,计算A、B、C分别为?2.进制转换描述:将十进制数M转换为N进制数;

2022-06-30 16:21:43 254 1

原创 【Image caption】——Unsupervised Image Captioning(CVPR2019)

目录一、贡献1.主要思想2. 现有研究方法对比二、实现过程1.无监督模型架构2.模型流程3.模型构成4. 训练过程5. 初始化三、实验结果及示例四、结论一、贡献我们首次尝试在不依赖任何标记的图像对的情况下进行无监督的图像字幕。 我们提出了三个目标来训练图像字幕模型。 我们提出了一种新的模型初始化管道。通过利用视觉概念检测器,我们为每个图像生成一个伪标题,并使用伪图像-句子对初始化图像字幕模型。 我们从Web中抓取了一个由超过200万个句子组成的...

2021-09-24 16:08:02 575

原创 【Java项目】——基于SpringBoot的用户信息管理系统

一、项目简介用户信息管理系统:1.根据权限的不同,将用户角色划分为:超级管理员和普通管理员;2.当管理员或者普通管理员在登录页面登录成功之后,进入相应的系统主页面,查看到自己权限之内的用户列表信息;3.查询到列表信息之后根据自己的权限对用户的相关信息进行增加、修改、组合条件查询、单条和多条删除等操作;二、功能分析用户信息管理系统1. 登录功能 管理员登录 普通用户登录 2. 用户的列表页面 管理员的列表; 普通用户的列表 3. 条件查询

2021-07-27 20:48:04 5458 9

原创 【Java项目】——在线聊天室(附源码)

在线聊天室一.需求分析:实现web版在线聊天室(1)进入登录页面;(2)登录成功之后,进入该系统主页面;(3)在主页面中可以查看到当前所有的频道列表;(4)点击某个频道列表,可以查看到该频道列表中的信息;(5)点击某个频道,可以发送消息,此时其它用户也可以查看到该消息;二.相关技术webSocket介绍:webSocket是应用在Web浏览器和服务器之间进行任意的双向数据传输的一种技术。1.消息推送:在HTML 5之前,消息推送基...

2021-07-27 15:01:03 1634 1

原创 Pytorch学习第四天——CNN模型的迁移学习

1.CNN模型的迁移学习:(1)利用预训练模型来加速训练的过程(经常使用在ImageNet上的;预训练模型)。(2)这是一种transfer learning的方法。做迁移学习的常用方法:fine tuning:从一个预训练模型开始,我们改变一些模型的架构,然后继续训练整个模型的参数; feature extraction:我们不再改变预训练模型的参数,而是只更新我们改变过的部分模型参数,我们称其为feature extraction 是因为我们吧预训练的CNN模型当做一个特征提取模型,利用提

2021-07-06 17:48:10 461

原创 Pytorch学习第三天——语言模型

语言模型1.循环神经网络RNN(1)每一步的参数W是固定的;(2)当前隐藏状态包含了所有前面出现的单词信息;(3)给定一列词向量:(4) RNN每一个步骤:(5)训练:Cross Entropy损失函数:(6)随机梯度下降SGD:(7)梯度消失和爆炸问题:原因:根据反向传播(链式法则),梯度会不断相乘,很容易引起梯度消失或者爆炸。2. 长短期记忆网络LSTM(1)LSTM是RNN的一种,大体结构几乎一样;(2)区别:LSTM的“记忆

2021-07-06 17:20:27 116 1

原创 Pytorch学习第二天——词向量

1.词向量2.Word2Vec:Skip-Gram模型3.Skip-Gram模型:负例采样

2021-07-06 16:56:45 102

原创 Pytorch学习第一天

1.神经网络2.激活函数(1)ReLu函数(2)Sigmoid(3)tanh3.简单神经网络(1)前向神经网络(2)RNN(3)CNN4.Pytorch框架的优点(1)动态计算图(2)Pytorch代码通俗易懂,接近于Python原生代码,比较友好;(3)支持性好;5.应用(1)图像分类(2)Object detection(3)CycleGan(4)Image Captioning(5)情感分析(6)Question

2021-07-05 09:10:28 72

原创 【深度学习】——安装百度深度学习框架paddlepaddle

Windows下的PIP安装1.环境准备 Python 版本 3.6+/3.7+/3.8+/3.9+ (64 bit); pip 版本 20.2.2+ (64 bit); 查看自己安装的python的版本;命令: python --version查看pip的版本(要求pip版本为20.2.2+);命令:python -m pip --version查看Python和pip是64bit,并且处理器架构是x86_64;输入:python -c

2021-05-24 16:18:06 234

原创 【操作系统】——线程(四)

1.线程的缺点:(1)线程的创建需要开辟内存资源:本地方法栈、虚拟机栈、程序计数器等线程私有变量的内存。频繁的创建线程和销毁线程会带来一定的性能开销;(2)使用线程不能很好地管理任务和有好的拒绝任务;2.线程池线程池:使用池化技术来管理和使用线程的技术。3.线程池的好处线程池的好处是减少在创建和销毁线程上锁消耗的时间以及系统资源的开销,解决资源不足的问题;如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。4.线程池的创建方式(7种

2021-05-19 21:34:14 222

原创 【操作系统】——线程(三)

1.死锁——在多线程(两个或者两个以上的线程)编程中,因为资源抢占而造成的线程无限等待的问题。2.线程和锁的关系:一个线程可以拥有多个锁,一个锁只能被一个线程拥有;3.死锁代码4.排查死锁的工具 jconsole、jmc、 vm5.死锁产生的4个条件(必须同时满足)(1)互斥条件——一个资源只能被一个线程持有,当被一个线程持有之后,就不能被其它线程持有;——不可修改(2)请求拥有条件——一个线程持有了一个资源之后又试图请求另一个资源;——可以修改(3)不可剥夺条件—..

2021-05-09 12:13:58 125

原创 【软件测试】——常见面试题(二)

1.软件测试的生命周期?(软件测试的流程)需求分析——测试计划——测试设计/开发——测试执行——测试报告需求分析阶段:分析需求;细化需求;验证需求的正确性和合理性; 测试计划阶段:规划测试人员的数量、规划时间、测试范围、测试目的等; 测试设计/开发阶段:分析需求,从细化的需求当中提取功能点,设计测试用例; 测试执行阶段:执行测试用例;记录bug ; 测试报告阶段:测试的范围;有多少测试用例,执行了多少测试用例,剩余了多少测试用例;发现了多少bug,修改了多少bug(验证),剩余的bug以及

2021-05-07 18:42:33 152

原创 【操作系统】——线程的安全问题以及解决方法

14.线程安全问题:线程不安全:多线程执行中,程序的执行结果和预期结果不相符。线程不安全原因:(1)CPU抢占执行的特性; (2)非原子性操作; (3)编译器优化(代码优化):即指令重排序。编译器优化在单线程时不会出现问题,可以提升程序的执行效率,但在多线程时就会出现混乱,从而导致线程不安全的问题。 (4)(内存)不可见性问题; (5)多个线程同时修改了同一变量;15.线程安全问题的解决方案(1)volatile关键字 ——轻量级解决“线程安全”的问题;volatil.

2021-04-29 21:03:47 328 1

原创 【操作系统】—— 线程(二)

1.线程的创建——3种方式(1)继承Thread类(单继承);(2)实现Runnable 的run()方法;(3) jdk 1.5 实现Callable + FutureTask;2.线程构造方法:设置线程名;线程的任务;设置线程分组;3.线程的常用属性;ID,Name 状态(6种),优先级(1——10,默认优先级5);4.线程的分类:守护线程(后台线程); 用户线程(main方法是一个用户线程) 守护线程是为用户线程服务的; 守护线程的使用场景:J..

2021-04-28 10:30:58 149 1

原创 【操作系统】—— 线程(一)

多线程1.线程(Thread)(1)概念:系统调度资源的最小单位。进程和线程的区别:进程:系统分配资源的最小单位; 线程:系统调度资源的最小单位; 线程是进程执行的最小单位,也是进程执行的实际单位。 一个进程中最少包含一个线程;线程必须依附在进程当中。 举例:进程就相当于一个工厂,线程就相当于一个一个流水线。 进程不可以共享资源,而线程可以共享资源;(2)线程可共享的资源:打开的文件; 内存(对象);(3)线程不可共享的资源:上下文; 记账; 状态信息;..

2021-04-22 21:06:59 98

原创 【操作系统】—— 进程

操作系统1.硬件组成:冯诺依曼体系结构(普林斯顿体系结构)组成 包括 输入设备 键盘 、鼠标、扫描仪、手写板; 存储器 内存 、磁盘; 运算器 中央处理器 控制器 输出设备 显示器、打印机 CPU 和输入设备或输出设备之间不能直接交互,必须依靠中间的存储部分(内存);内存和硬盘的区别?内存的读写速度要远远大于硬盘;内存读写速度是纳秒级别;而硬盘的读写速度是微秒级别; 内存的价格远大于硬盘; 内存中的数据不能持久化(.

2021-04-22 20:29:55 115

原创 【计算机网络】——IP协议

1.网络层:功能:负责确定路由和路由的选择。2.IP协议(1)协议格式:4位版本号——指定IP协议的版本; 4位首部长度——IP头部的长度是多少个32bit; 8位服务类型——后4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本(四选一); 16位总长度——IP数据报整体占多少个字节; 16位标识(分组id)——唯一的标识主机发送的报文; 3位标志字段——保留位;置1表示禁止分片;更多分片; 13位分片偏移——是分片相对于原始IP报文开始处的偏移(确定组包的顺序);

2021-04-22 19:39:14 343

原创 【计算机网络】——数据链路层

1.数据链路层: 功能:相邻节点之间的数据传递;2.以太网——一种技术标准(1)规定了网络拓扑结构、访问控制方式,传递速率等;(2)以太网的帧的格式: 源地址和目的地址是指忘啦的硬件地址(MAC地址)——48位; 帧协议类型有三种值:即IP、 ARP、 RARP; 帧末尾是CRC校验码——用来校验数据的正确性;(3)MTU (最大传输单元Max transmission unit)——1500字节(4)MTU 对UDP的影响: 1...

2021-04-20 21:38:30 208

原创 【软件测试】——常见面试题(一)

1.什么是软件测试?验证软件是否满足用户的需求。2.软件测试和开发的区别是什么?(1)软件测试和调试的区别:目的不同:软件测试——为了检查软件的质量(以需求为标准) 软件调试——开发人员为了检查程序是否实现了该程 序所需要实现的功能。 人员不同: 软件测试——黑盒工程师、白盒工程师、开发人员(单 元测试、或者白盒测试) 软件调试——开发人员 阶段不同:软件测试——贯穿到了软件开...

2021-04-19 20:20:01 146

原创 【计算机网络】——常见网络面试题汇总

1.TCP 和UDP的区别:TCP 无连接,不稳定,面向数据报(dataGram);没有发送缓冲区,只有接收缓冲区。 UDP 有连接,稳定性,面向数据流;既有发送缓冲区,又有接收缓冲区。 2. 关于3次握手和4次挥手提问:(1)为什么需要3次握手?只有经过3次握手,才可以完整的证明客户端和服务器端具有的发送和接收能力(全双工);(2)3次挥手是否可以?有可能可以。取决于接收缓冲区是否有任务。如果没有待结束的任务两次挥手可以合;——即捎带应答。对应到程序,如果

2021-04-18 13:50:53 140

原创 【Javaweb】——如何在阿里云部署自己的项目

1.准备:(1)熟悉相关操作命令;(2)准备好自己的项目;(3)部署环境JDK、Tomcat 、Mysql;(4)工具Xshell ,Xftp等。2.疑惑:为什么要将自己的项目部署到服务器(阿里云、腾讯云)?当前客户机没有固定IP,使得其它人也可以访问和查看到自己的项目。3.准备安装环境步骤:购买好自己的服务器(阿里云或者腾讯云);使用Xshell 连接到自己的服务器;(1)安装JDK因为服务器中含有相应的JDK,只需下载内置的JDK环境即可;安装命令:

2021-04-18 13:29:43 157

原创 【计算机网络】——详解传输层TCP/UDP

1.传输层: 功能:负责数据能够从发送端传输连接端。 (1) 端口号:找到应用程序; (2) 端口号取值范围:0-65535; (3) 分类:知名端口号:0-1023 如FTP——21;SSH——22;Telnet——23;Http——80;Https——443; 操作系统动态分配的端口号:1024-6535 如客户端程序的端口号;(1)一个进程(程序)是否可以绑定多个端口号?...

2021-04-18 12:40:49 193

原创 【计算机网络】——协议分层

1.协议:即一种“约定”。2.协议分层:(1)OSI ( Open System Interconnection,开放系统互连)七层模型(2)TCP/IP 五层协议(3)TCP/IP 四层协议3.TCP 和UDP 的区别:UDP :无连接、不可靠、面向数据报(一个整体Datargam)——性能比较快。TCP:面向连接的、稳定的、面向数据流。4.UDP网络编程(1)对象 DatagramSocket ->客户端(主动发送请求的一端)、服务器端(被动接收请求的.

2021-04-18 08:57:21 388 1

原创 【计算机网络】——如何定位url路径资源

1.题目描述: 浏览器输入一个http协议的url,如何定位服务资源?2.过程分析:(1)当输入URL发生了什么:浏览器向DNS服务器请求解析该URL中的域名对应的IP地址 解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接 浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求;该请求报文作为TCP三次握手的第三个报文的数据发送给服务器;服务器对浏览器请求作出相应,并把对应的html文本发送给浏览器 释放TCP连接 浏览器解析HTM...

2021-03-25 16:14:56 289 3

原创 [PyTorch]——MNIST数据集的简单深度神经网络实现

1.题目描述:使用Pytorch实现一个简单的深度神经网络,试图用的数据集是MNIST,预期结果可以达到98%左右的准确率。该神经网络由1个输入层、1个全连接层结构的隐含层和1个输出层构建。2.数据集的下载2.具体实现过程...

2021-03-05 20:10:04 721

原创 【数据结构】——堆

1.堆的介绍:(1)堆逻辑上是一棵完全二叉树;(2)堆物理上是保存在数组中;(3)满足任意节点的值都大于其子树中节点的值——大根堆,大堆 或者最大堆(4)相反,则是小根堆,小堆,或者最小堆。2.根据数组序列创建小根堆:分析:(1)index(代表要调整位置的下标) 如果已经是叶子节点,则整个调整过程结束;判断index 位置是否有孩子节点; 只对其判断是否有左孩子;因为堆是完全二叉树,即没有左孩子就一定没有右孩子; 判断是否有左孩子即判断左孩子下标是否越界,即l...

2021-02-19 20:18:12 118

原创 【数据结构】——二叉树题集

1.题目描述:根据二叉树的中序和后序遍历构造二叉树public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode left, TreeNode right) { this.val = val; ...

2021-01-30 22:19:52 248

原创 【数据结构】——二叉树

目录1.二叉树(Binary Tree)介绍2.二叉树的特点3.二叉树的遍历——递归形式4.二叉树的遍历——非递归形式5.二叉树的层序遍历6.二叉树的基本操作1 .二叉树(Binary Tree)介绍:一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵称为左子树和右子树的二叉树组成。2. 二叉树的特点: 每个结点的度都不大于2; 每个结点的孩子结点次序不能任意颠倒。 3. 二叉树的遍历——递归形式(1)前序遍历...

2021-01-28 21:49:08 132 2

原创 【Java】——字符串相关题目

1.题目描述:——翻转字符串给一个字符类型的数组chas和一个整数size,请把大小为size的左半区整体右移到右半区,右半区整体移动到左边。package demo1;import java.util.*;//逆置字符串public class Test2 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int k

2021-01-20 21:31:49 242

原创 【小程序】——简易图书管理系统

一.题目: 结合Java的面向对象的三大特征:封装、继承、多态等,以及抽象类、接口等相关知识实现图书管理系统。二.具体设计:1.登录功能;2.图书:拥有书名,作者,价格,类型,借阅状态等属性;3.用户:管理员和普通用户;4.用户的对书籍可进行的相关操作: (1)管理员的功能: 查阅书籍; 增加书籍; 删除书籍; 显示书籍; 退出系统 (2)普通用户的功能: 查询书籍; 借阅书籍; ...

2021-01-18 22:16:58 579 5

原创 【数据结构】——双向链表增删查找功能的模拟实现

1.双向链表:此链表中有两条方向不同的链。此链表的每个节点包括三个域:(1)数据域:存储节点的值(2)前驱指针域prev:指向其前驱(3)后继指针域next:存储数据元素的直接后继的地址(或位置)2.模拟实现:首先创建一个DoubeLinkedList类:class ListNode { private int data; private ListNode next; private ListNode prev; public L

2021-01-11 18:42:25 92

原创 【数据结构】——链表试题汇总详解(二)

链表试题:8.链表的回文结构:回文结构:即链表内容正反序列内容相同:如12521。分析:(1)找到链表的中间节点位置; (2)从中间位置开始,将链表后半部分反转; (3)定义引用,head从头往前走,slow从后往前走,直到head 和slow相遇,即说明此链表是回文结构。 //8. 链表的回文结构。——时间复杂度为O(n),空间复杂度为O(1) public boolean chkPalindrome(){ ...

2021-01-11 15:01:38 111

原创 【数据结构】——链表试题汇总详解(一)

链表面试题:1. 删除链表中等于给定值 val 的所有节点。public void removeAllKey1(int key){ Node prev = this.head; Node cur = prev.next; while(cur != null){ if(cur.data == key){ prev.next = cur.next; }else{ prev = cur;

2021-01-06 10:27:36 180

原创 【数据结构】——顺序表增删查找功能的模拟实现

1.顺序表:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构。——本质是采用数组进行存储。——在数组上完成数据的增删查改。2.模拟实现:首先创建一个MyArrayList类:public class MyArrayList{ private int[] elem; private int usedSize;}(1)(2)(3)(4)(5)(6)(7)(8)(9)3.顺序表的问题:顺序表的缺点 (.

2021-01-01 21:40:15 264

原创 【数据结构】——链表增删查改功能的模拟实现

1.链表:链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序来实现的。2.链表的模拟实现:首先,创建一个MyLinkedList类:class Node{ public int data;//实例成员变量 public Node next; public Node(){//无参构造 } public Node(int data){//带有一个参数的构造方法 th

2020-12-31 18:00:28 122

原创 【Java】——详解关键字this到底是代表当前对象还是代表当前对象的引用?

1.this关键字 this表示当前对象的引用。——可以借助this来访问对象的方法和字段。2.代码:class Person{ private String name;//实例成员变量 private int age; private String sex; //默认构造函数 构造对象 public Person(){ //this调用构造函数 this("zhangsan",22,"man");//必须放在..

2020-12-30 09:26:58 4959 2

原创 【Java】——交换两数组内容(等长数组和不等长数组的交换)

1.(1)题目描述:交换两个不等长数组——给定两个整型数组, 交换两个数组的内容.(2)分析:交换两个不等长数组,需要先对两个数组的长度进行判断,然后得到较小数组的长度,然后将较小长度的数组的内容与较大数组内容进行交换,较大数组剩余内容不做交换即可。(3)代码实现:public class Test{ //交换两个不等长数组——给定两个整型数组, 交换两个数组的内容. public static void reverseArr(int[] arr1,int[] arr.

2020-12-29 19:30:02 709

原创 【Java】——实现数组中偶数在前,奇数在后问题

1.题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。2.分析:将奇数放在数组的前半部分,偶数放在数组的后半部分——即所有的奇数应该位于偶数的前面,即在此数组的中,若发现有奇数在偶数的前面,就交换它们的次序。3.代码实现:public class Test { //1.奇数在数组后面 public boolean isOdd(int n){ return (n & 1 )

2020-12-27 11:03:11 1323

原创 【Java】——类和对象

类和对象1.要想了解类和对象,首先在此提出 “面向对象”的概念:面向对象是思考问题的一种方式吗,是一种思想; 面向对象注重的是对象,即参与过程所涉及的到的主体,是通过逻辑将一个个功能实现连接起来; 面向对象的好处:将复杂的事情简单化——只需面向一个对象就行; 面向对象设计:数据的拥有者,需对外提供操作这些数据(私有的)方法。 面向对象就是用代码(类)来描述客观世界的事物的一种方式。——一个类主要包含一个事物的属性和行为。2.类和类的实例化:1.)类就是一类对象的统称,对象就是这一类具体

2020-12-25 18:49:35 99

原创 【C语言】——残缺棋盘问题

1.题目描述:资源分配问题2.分析:动态规划算法一般是n步叠代计算局部值最优解,每一步叠代需要计算m个子项,那么时间复杂度就是O(m*n)。如果只保存一步叠代的结果,空间复杂度就是O(m);如果需要保存k步叠代结果,空间复杂度就是O(m*k)。3.代码实现:...

2020-12-11 15:30:03 3004

空空如也

空空如也

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

TA关注的人

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