自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用pytorch定义自己的数据集

使用pytorch对图像处理时,需要将自己的图像数据转化为pytorch框架可以理解的DataSet,此时即需要创建自己的数据集,下面总结如何创建自定义的数据集一、将图像整理为txt文件,txt文件每行的内容包括:图像的路径 和 图像分类标签本例中图像是按照分类存放到其对应的子文件夹中的import ossave_path = './data/txt' #保存的路径dir_path = './data/piture/'#存放数据集的位置#训练集和测试集的比例9:1def generat

2020-09-18 17:54:00 1207 1

原创 pytorch常用操作

1、当经过网络模型后,输出的output tensor为[1,16]时,将其展平为一维numpy()向量,然后按照降序排列output = model.forward(img) #img为Variable类型print(output.shape) #tensor[1,16]#将其展平为一维向量,然后排序output = output.data.cpu().numpy().flatten()print(output.shape)#(16,)output = output.argsort() #

2020-09-17 15:29:48 1108

原创 kaggle-数据处理的部分做法

1、从.csv文件中读取文件内容;将DataFrame对象存放到.csv文件中#读取文件内容train = pd.read_csv('train.csv',index_col=0)#读取内容时,如果每行前面有索引值,舍去#将DataFrame类型的对象(最终提交的结果形式),转换为.csv文件result = pd.DataFrame({'PassengerId':data_test['PassengerId'].values,'Survived':prediction.astype(np.i

2020-06-05 15:24:59 991

原创 朴素贝叶斯理解及实现

一、朴素贝叶斯算法朴素贝叶斯算法是一种有监督的学习算法,可以解决分类的问题。对于给定的训练数据集,首先基于特征条件独立假设学习输入和输出的联合概率分布,然后基于此模型,当给定输入的x时,利用贝叶斯定理求出后验概率最大的输出y值。假设目前我们的数据集,其中的所有的数据可以分为两类。使用p1表示属于其中一类的概率,p2表示属于另一种的概率,输入新的数据点(x,y),如果在该点的p1(x,y)>p2(x,y),则该点属于类别1,反之属于类别2。因此朴素贝叶斯算法最终返回的是所属的类别中概率值最大的类

2020-06-02 10:01:45 1113

原创 KNN的理解和实现

一、KNN算法的思想通过一定的方法度量其他样本到目标样本的距离,选取距离最近的k个样本,当这k个样本大多数分类的结果都属于某一个类别时,则判断目标样本也是属于这个类别的。常用的衡量距离的方式主要有两种:曼哈顿距离和欧式距离样本的特征空间:两个样本集都是含有n为特征的数据集,(1)曼哈顿距离:(2)欧氏距离:这里我们使用欧式距离L2作为衡量的尺度,实现简单数据的分类import numpy as npimport operator'''parameters:

2020-05-27 15:19:31 293

原创 Json的序列化和反序列化

1、JSON是什么?当客户端向服务器端发送请求(例如请求访问一个页面)时,服务器端需要做出对请求的响应,返回客户端请求的数据。这个时候传输数据的方式有两种:一是XML格式,二是JSON格式。一般情况而言,对于客户端而言,JSON格式比XML格式更易于理解。所以常采用JSON格式进行数据的传输。2、JSON数据的格式(1)数据由对象组成{ “title”:”京东”, “url” : “//www.jingdong.com/” }(2)数据由数组组成{ “studen

2020-05-16 15:55:04 540

原创 Java 的IO章-------(字节数组输入流)

字节数组不同于字节文件,字节文件是保存在硬盘上的,操作系统对其进行统一管理,使用完需要关闭。而字节数组不需要通知操作系统,然后对该资源进行管理1、字节数组输入流-----ByteArrayInputStream流package cn.sxt.io;import java.io.ByteArrayInputStream;import java.io.IOException;impo...

2019-05-11 17:14:15 283

原创 Java 的IO章-------(字符文件输入流、输出流)

前一章中整理了字节文件的输入流和输出流。在进行读文件时,若使用字节文件输入流(常会因为文件中包含了中英文字符,而且读取时字节的长度减少或者指定字符集有误等问题,会造成文件的乱码),而如果使用字符文件输入、输出流来进行读取,通常不会造成乱码。1.字符文件输入流------Reader类Reader类是一个抽象类,不能进行实例化,所以我们使用它的子类FileReader类进行实例化pac...

2019-05-11 17:03:33 114

原创 Java----IO章(字节文件输入、输出流)

近期学了IO文件输入流和输出流的内容,现在梳理一下1、字节文件输入流(InputStream)--------从源文件中逐字节读取文件package cn.sxt.io;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IO...

2019-05-11 16:52:03 219

原创 编程题(总结)

1、给你一个01序列,HDLC协议处理的话,如果出现连续的5个1会补1个0。例如1111110,会变成11111010。现在给你一个经过HDLC处理后的01序列,你需要找到HDLC处理之前的01序列。例如给你11111010你需要输出1111110解析:本题是基于计算机网络中的HDLC协议进行设计的,以下是我所给出的解法:#include<iostream>u...

2019-03-20 17:38:23 135

原创 leetcode编程题

1、Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.1、给定一棵二叉树,找到它的最小深度(最小深度是从根节点出发离其最近...

2019-03-14 19:45:26 146

原创 机试题总结

1、输入数据0-2的32次方范围,化成二进制,然后逆序这个二进制序列,转换成十进制解析:本题的难点在于0-2的32次方,所定义的数据类型的问题,可以知道我们的数据类型是应该使用long long型的#include&lt;iostream&gt;using namespace std;int main(){ long long num;//存储用户输入的数据 int ...

2019-03-14 18:27:37 198

原创 机试(二)

1、题目描述:有一棵树,输出某一深度的所有节点 ,有则输出这些节点,无则输出EMPTY,该树是完全二叉树输入描述:输入有多组数据。每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,再输入一个d表示深度输出描述:输出该树中第d 层的所有节点,节点间用空格隔开,最后一个节点后没有空格#include<iostream>u...

2019-03-14 18:27:14 464 1

原创 SQL语言汇总

1、主键和外键:如果一个表的某一列是另一个表的主键,则该列被称为外键。外键是连接两个表的纽带,通过外键与主键的等值连接,可以将表中的不同信息相关联起来。create table student( sno varchar(20) primary key,//学号是主键 sname varchar(30), sage int, sdept varchar(255), //系号...

2019-03-10 21:26:34 120

原创 posix信号量机制

posix为可移植的操作系统接口标准,定义了操作系统应该为应用程序提供的接口标准信号量机制是我们在操作系统中学到的知识,可以用来解决同步和互斥的问题,它只能被两个标准的原语wait(S)和Signal(S)来访问,也就是p操作和v操作。信号量的概念在system v 和posix 中都有,但是它们两者的具体作用是有区别的。system v版本的信号量用于实现进程间的通信,而posix版本的信号...

2019-03-04 09:34:43 834 1

原创 进程的通信机制(IPC)

(一)使用管道进行通信管道是指用于连接一个读进程和一个写进程以实现他们之间进行通信的共享文件。管道机制必须提供以下三方面的协调能力:互斥、同步、和确定对方存在管道操作,只能采用半双工通信,即某一时刻只能单向传输。要实现父子双方之间相互通信,则要定义两个管道。下面则是实现的父子双方使用管道进行通信的实例:#include&lt;unistd.h&gt;#include&lt;...

2019-03-04 08:48:40 232

原创 栈与队列的相互转换实现

一、使用两个栈实现一个队列(栈s1,s2)入队操作:入栈操作,count+1;出队操作:s1出栈,入栈s2,出栈s2具体实现代码:#include&lt;iostream&gt;#include&lt;stack&gt;using namespace std;//利用两个栈实现一个队列template&lt;class T&gt;class MyQue{private...

2019-03-02 18:08:39 166

原创 堆排序的实现--建堆、调整、排序

堆排序是一种树形选择的排序算法,在排序过程中将数组看作是一棵完全二叉树。但其实它是顺序存储的结构,这里我们实现的是大根堆的建堆算法。堆排序:建大根堆--&gt;输出堆顶元素(和堆底元素交换)--&gt;整理将其重新整理成为堆(1)大根堆(堆顶元素大于或等于其对应的子节点)L[i]&gt;=L[2*i] L[i]&gt;=L[2*i+1](2)小根堆(堆顶元素小于或等于其对应的子节...

2019-03-02 15:36:05 930

原创 图的遍历及应用--广度遍历、深度遍历、单源最短路径

图的遍历:指从图的某一顶点出发,按照某种搜索方法沿着图中的边,对所有节点访问一次且仅一次。图的遍历主要有两种算法:广度优先遍历和深度优先遍历这两种遍历算法,我在考研期间有复习过,所以现在写到博客上(算法的实现前提是都是基于图的邻接表的存储方式存储的)我们知道,通常图的存储方式有两种:邻接矩阵和邻接表,本篇中的存储方式则是基于邻接表的方式存储的。存储结构:typedef str...

2019-03-02 14:49:31 717

原创 二叉排序树相关知识

一、二叉排序树的定义二叉排序树或者是一棵空树,又或者是一棵具有如下性质的树:若左子树不为空,则左子树上所有节点的值小于根节点 若右子树不为空,则右子树上所有节点的值都大于根节点 其左右子树也满足该条件二、下面将阐述一下对于该二叉排序树的操作实现插入 查找 删除(1)插入操作若是空树,则直接进行插入,成为根节点若不为空树,则需要保证插入以后,仍为二叉排序树 若插...

2019-03-01 20:16:55 240

原创 二叉树的先序,中序,后序(递归、非递归版本)(二)

上一篇中实现了递归的先序、中序、后序的遍历,这一篇将着重讲述非递归版本的遍历。中序非递归: 1、思想:使用栈,先对栈进行初始化,当栈不空时(刚开始进入循环,栈为空,所以增加条件根不为空时)沿着左孩子一直入栈,直至找到最左的那个节点。此时,先取栈顶元素,进行访问。再出栈,因为是中序遍历,所以最终将将其指针指向其右孩子。2、实现代码 void Mid_order_no...

2019-02-28 22:05:02 97

原创 二叉树的先序,中序,后序(递归、非递归版本)(一)

二叉树的结构typedef struct{ char val; struct Binode *lchild; struct Binode *rchild;}Binode;一、递归情况下实现示例:进行先序、中序、后序以及层次遍历#include&lt;iostream&gt;#include&lt;queue&gt;#include&lt;stdli...

2019-02-28 20:28:46 132

原创 C++的list,stack,queue、set、map等知识汇总

一、c++的list知识list是STL容器中实现的双向链表,它允许快速的访问和删除。但是,与vector相比,list的随机访问很慢,1、用法使用到头文件 #include&lt;list&gt;2、定义与初始化 list&lt;int&gt; l;//创建空list llist&lt;int&gt; l2(5);//创建含有5个元素...

2019-02-28 16:15:54 1244

原创 剑指offer编程题

一、输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示解析:当输入数据n时,n与n-1进行按位与操作之后,可以实现消去n的二进制中的一个1,例如10的二进制位1010,9的二进制为1001,按位与之后为1000,那么我们一共进行了多少次的与操作,就相当于其对应的二进制中有多少位1。class Solution {public: int NumberOf1(in...

2019-02-27 21:09:10 130

原创 常用排序算法

常用的七大排序算法如下:1、直接插入排序void insert_Sort(int *a,int n){ for(int i=0;i<n;i++){ //key:a[i] int temp=a[i];//temp在这里相当于哨兵的作用 int j; for(j=i-1;temp<a[j];j--) {//从后向前寻找插入的位置,边找边后移 ...

2019-02-24 21:17:20 162

原创 C++的多态性

多态性(一)定义: 一个接口,多个方法,程序在运行时才决定调用的函数(同一事物在不同场景下的多种形态)(二)分类:静态多态             函数重载             泛型编程动态多态             虚函数(三)目的:  接口重用,封装可以使得代码模块化,继承可以扩展已存在的代码,以上两种都是为了代码重用,而多态则是为了实现接口重用。...

2019-02-24 15:35:04 116

原创 如何测试一个搜索框

一、功能测试输入字符,有匹配的就展示出来,没有匹配的,会进行处理(1)对输入进行测试有效等价类:正常输入存在的内容(各种字符分别测试),符合字数限制要求(不能选取边界值)查看搜索结果展示的数据是否完整无效等价类:正常输入不存在的内容,查看搜索返回的结果 输入为空 输入的字数过长 特殊符号验证搜索框的功能是否与需求一致,如模糊搜索或完全搜索(2)快捷键在输入结束...

2019-02-24 11:34:32 2065

原创 测试登录页面,该页面上有两个信息输入框,一个提交按钮,设计测试用例

功能测试:1、输入正确的用户名和密码,点击提交按钮,验证是否能正确登录2、输入错误的用户名或者密码,验证登录会失败,并且提示相应的错误信息3、登录测试后能否能跳转到正确的页面4、用户名和密码中有特殊字符5、记住用户名的功能6、登陆失败后,不能记录密码的功能7、用户名和密码前后有空格的处理8、密码是否以星号显示界面测试:1、布局是否合理,两个信息输入框和一个按...

2019-02-24 11:18:13 10899

原创 Linux项目--多人在线聊天系统的开发

项目名称:群聊工具的开发 系统原理:该项目是源于《Linux高性能服务器编程》一书中所提到的多进程或者多线程编程的部分,利用多线程编程来实现一个简单的多人聊天室。在多进程或多线程编程中,最重要的问题便是实现进程的通信机制(IPC),我们常用的IPC方法有:管道、消息队列、和信号量机制。该项目中在编写客户端和服务器端程序时,所采用的 便是基于共享内存的IPC,使用到了posix信号量机制来控...

2019-02-24 10:00:46 3209

原创 实现简单的TCP网络(多进程、多线程版本)

之前实现了单进程版本的TCP网络通信,但实际上单进程版本的网络通信使用较少,更常用的便是多进程与多线程的版本。多进程方式:服务器创建子进程,子进程再创建孙子进程,此时子进程便成为二代子进程,孙子进程为一代子进程,让子进程退出后,这样就可以避免僵尸进程的形成。//server.c,服务器端实现int Start(char* ip,int port){ //使用socket函...

2019-02-20 20:33:42 263

原创 HTTP协议

1、在万维网中,资源(网页,图片,音频等)都是使用“统一资源定位符”(URL)来进行标识的。这些资源是通过超文本传输协议(HTTP协议)传送到客户端的。而用户只需要点击链接来获取该资源。 2、HTTP协议是应用层的一种协议(超文本传输协议),表示了web客户端与服务器端双方之间传送数据的格式和解析数据的格式。HTTP请求定义了客户端如何向服务器端请求万维网文档,以及服务器端如何将万...

2019-02-19 10:57:32 170

原创 Mysql-----事务

一、事务的定义(Transaction)事务:是一个最小的不可再分的工作单元,通常一个事务对应于一个完整的业务(例如某管理系统的登录页面操作) 一个完整的业务需要批量的DML语句(update,insert,delete语句)联合完成 事务只与DML语句有关,只有DML语句才有事务二、事务四大特征(ACID)原子性(A):事务是最小单位,不可再分 一致性(C):事务要求所有的DML...

2019-02-18 16:14:18 111

原创 性能测试之Loadrunner(一)

一、性能测试理论(一)性能测试的概念及其分类 性能测试:主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 性能测试的分类:(1)性能测试(狭义)  方法:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能的要求  目的:验证系统是否有系统宣称具有的能力(2)负载测试  方法:通过在被测系统上不断加压...

2019-02-18 13:27:31 465

原创 状态码分类表

下面是一些状态码的分类表:状态码 类别 描述 1XX Informational(信息性状态码) 接收到请求正在处理 2XX Success(成功状态码) 请求正常处理完毕 3XX Redirecration(重定向状态码) 需要进行附加操作以完成请求 4XX Client Error(客户端状态错误码) 服务器无法处...

2019-02-17 23:26:16 200

原创 Python设计模式——工厂模式、单例模式的实现;

       设计模式是面向对象语言特有的内容,设计模式有很多种,比较流行的是GOF23种设计模式。通过模式实现了多种分离,大型的项目中采用模式实现     常用的设计模式:工厂模式和单例模式(一) 工厂模式    该模式实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进行统一的管理和控制#测试工厂模式class CarFactor:#创建工厂类 de...

2019-02-16 23:13:26 335

原创 python对象的浅拷贝和深拷贝

(1)浅拷贝:python拷贝一般都是浅拷贝,拷贝时,对象包含的子对象内容不拷贝,因此,源对象和拷贝对象会引用同一个子对象。浅拷贝相当于将之前的对象本身进行拷贝,而其属性或方法(也是对象)没有拷贝,仍指向原来的地址,引用的是同一个子对象(2)深拷贝:使用copy模块的deepcopy函数,递归拷贝对象中包含的子对象,源对象和拷贝对象所有的子对象也不同深拷贝将之前的对象本身进行拷...

2019-02-16 22:10:27 95

原创 python面向对象编程(二)

面向对象三大特征:封装、继承、多态封装:隐藏对象的细节,只对外提供必要的方法继承:可以让子类具有父类的特性,提高了代码的重用性多态:同一个方法调用由于对象不同产生不同的行为(一)继承子类(派生类)继承父类(基类)1、Python支持多重继承,一个子类可继承多个父类class 子类类名(父类1,父类2): 类体如果未指定父类,默认父类是object类,p...

2019-02-16 21:38:45 120

原创 python面向对象编程(一):各种类方法解释

在python中,一切皆对象。1、类对象类定义的格式为“class  类名”,实际上当解释器执行class语句是,就会创建一个类对象class Student: pass #空语句print(type(Student))print(id(Student))Stu2=Student #将类的地址赋给了Stu2s1=Stu2()print(s1)2、...

2019-02-16 15:00:28 481

原创 有关python函数总结;可迭代对象、生成器与迭代器的区别;相关函数

(1)trim()函数的实现(利用切片操作实现trim函数,去除字符串首尾的空格):def trim(s): if len(s)==0: return s while s[0]==' ': s=s[1:] while s[-1]==' ': s=s[:-1] return s(2)在list列表中寻找最大值和最小值:...

2019-02-15 11:39:03 159

原创 基于TCP协议的网络程序

本篇内容将着重于写出基于TCP协议的服务器与客户端之间通信的代码。TCP协议:两台主机在基于TCP协议进行通信时,首先是要建立好连接,等到双方都确认建立好连接之后,才可以进行通信。这样做的目的则是为了保证数据通信的可靠性,但也不可否认,在建立连接过程中,需要花费时间和资源(因此基于TCP通信比基于UDP通信的速度要慢一些)。TCP协议的特点(1)是面向连接的,通信的速度较UDP要慢...

2019-02-13 12:53:38 1653

空空如也

空空如也

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

TA关注的人

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