自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

折腾

但行好事,莫问前程。

  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 [HIT软件构造Blog008]期末复习

这篇文章就作为本学期软构学习的最后一篇博客,对于一些本人认为很重要的知识点进行总结

2021-07-07 19:30:52 320

原创 [HIT软件构造Blog007]Abstract Data Type (ADT)

抽象数据类型(ADT)Abstraction and User-Defined TypesClassifying Types and OperationsAbstract Data Type ExamplesDesigning an Abstract TypeRepresentation IndependenceTesting an Abstract Data TypeInvariantsRep Invariant and Abstraction FunctionBeneficent mutationDoc

2021-06-30 23:09:27 278 2

原创 [HIT软件构造Blog006]Designing Specification

设计规约Functions & methods in programming languagesSpecification: Programming for communicationDesigning specificationsFunctions & methods in programming languages参数类型是否匹配和返回值类型是否匹配都在静态类型检查阶段完成“方法”是程序的“积木”,可以被独立开发、测试、复用使用“方法”的客户端,无需了解方法内部具体如何工作---

2021-06-29 20:06:59 285 1

原创 [HIT软件构造Blog005]Data Type and Type Checking

数据类型与类型检验Data type in programming languagesStatic vs. dynamic data type checkingMutability and ImmutabilitySnapshot diagram as a code-level, run-time, and moment viewComplex data types: Arrays and CollectionsUseful immutable typesData type in programming

2021-06-28 21:30:21 220 1

原创 [HIT软件构造Blog004]Software Construction Process and Configuration Management

软件构造过程与配置管理Software Development LifecycleTraditional Software Process Models瀑布过程增量过程V字模型原型模型螺旋模型敏捷开发SCM(软件配置管理)&VCS(版本控制系统)Software Development LifecycleTraditional Software Process Models瀑布过程增量过程V字模型原型模型螺旋模型敏捷开发SCM(软件配置管理)&VCS(版本控制系统)..

2021-06-27 23:06:59 124 1

原创 [HIT软件构造Blog003]Testing and Test-First Programming

软件测试与测试优先的编程软件测试测试用例测试优先编程单元测试使用JUnit的自动化单元测试黑盒测试依据等价类选择测试用例包含边界条件白盒测试代码覆盖度自动化测试以及回归测试给测试策略写文档软件测试测试用例测试优先编程单元测试使用JUnit的自动化单元测试黑盒测试依据等价类选择测试用例包含边界条件白盒测试代码覆盖度自动化测试以及回归测试给测试策略写文档...

2021-06-27 22:44:22 138

原创 [HITICS]大作业——程序人生Hello‘s P2P

摘 要本论文简短的介绍了对于每个程序员来说最熟悉的伙伴—hello程序的一生,从预处理,编译,汇编,链接,再到进程管理,存储管理,IO管理。这短短的过程却蕴含着人生哲理!主要在Ubuntu下进行相关操作,运用了一些Ubuntu下的操作工具,进行细致的历程分析,加深了自己对于计算机系统的理解,也对人生有了新的感触!关键词:hello程序;程序人生;计算机系统;Ubuntu本文目录第1章 概述1.1 Hello简介1.2 环境与工具1.3 中间结果1.4 本章小结第2章 预处理2.1 预处理的概念与作

2021-06-21 19:22:29 589

原创 JAVA概念总结

本文主要记录一些本人在Java学习中的感觉比较重要的概念(更新中~)目录方法构造方法函数重载(Overload)函数重写(Override)多态抽象类泛型方法方法类似于C语言中的‘函数’这一概念。构造方法public class Test { public static void main(String[] args) { Students stu = new Students("fly-beep",001); System.out.println("Name : " + stu.

2021-06-13 22:58:25 1275 1

原创 [HIT软件构造Blog002]Junit4中assert断言的用法

assert断言的用法官网assertArrayEqualsassertEquals&assertNotEqualsassertTrue&assertFalseassertNull&assertNotNullassertSame&assertNotSameassertThat官网首先这里是官网地址:Junit4可以看到定义的assert断言有以下这几种:assertArrayEquals;assertEquals;assertNotEqualsassertTr

2021-05-28 09:42:36 261 1

原创 [HIT软件构造Blog001]Views and Quality Objectives of Software Construction

软件构造的多维度视图和质量目标多维软件视图1.Build-time Viewsa.Build-time, moment, and code-level viewb.Build-time, period, and code-level viewc.Build-time, moment, and component-level viewd.Build-time, period, and component-level view2.Runtime Viewsa.Run-time, moment, and code

2021-05-23 22:11:51 189

转载 size_t用法总结

size_t在C语言中就有了。它是一种“整型”类型,里面保存的是一个整数,就像int, long那样。这种整数用来记录一个大小(size)。size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。通常我们用sizeof(XXX)操作,这个操作所得到的结果就是size_t类型。因为size_t类型的数据其实是保存了一个整数,所以它也可以做加减乘除,也可以转化为int并赋值给int类型的变量。类似的还有wchar_t, ptrdiff_t。wchar_t就是wide char

2021-02-14 12:05:04 2153

原创 VM+CentOs7+ClickHouse+MySQL集成

首先,我的版本是VM12 pro+CentOs7本文主要分以下两个部分安装ClickHouse实现MySQL与ClickHouse集成安装ClickHouse下面首先来讲讲按照ClickHouse相关方法:本文主要参考:可以看原文也可直接看本文安装依赖项安装过程需要curl下载包。此外,ClickHouse测试包在EPEL中有一些依赖关系,因此epel-release必须安装,以防您想要安装ClicKhouse测试包确保curl安装在系统上sudo yum install -y curl

2021-02-07 22:57:15 197

转载 问题解决:E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁

使用Ubuntu16.04安装软件执行apt-get update时出现如下错误:E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)E: 无法对目录 /var/lib/apt/lists/ 加锁解决方法:解决方法一:执行一下 :sudo dpkg --configure -a解决方法二:sudo rm /var/lib/apt/lists/lock解决方法三:1、ps-aux 查出apt-get进程的PID,2、用sudo kill

2021-02-03 17:25:58 979

原创 行存储和列存储的区别

行存储和列存储的区别a.行存储的写入是一次完成,数据的完整性因此可以确定。列存储需要把一行记录拆分成单列保存,写入次数明显比行存储多。行存储在写入上占有很大的优势b.行存储是在指定位置写入一次,列存储是将磁盘定位到多个列上分别写入行存储在数据修改也是占优的c.行存储通常将一行数据完全读出,如果只需要其中几列数据,就会存在冗余列列存储每次读取的数据是集合中的一段或者全部。由于列储存的数据是同质的,这种情况使数据解析变得容易。行存储则复杂的多,因为在一行记录中保存了多种类型的数据,数据解析

2021-01-25 16:48:13 3638

转载 EAX、ESP、EBP等寄存器的作用

参考一:一般寄存器:AX、BX、CX、DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器索引暂存器:SI、DISI:来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、EBP:為si,di,sp,bp的延伸,32位元eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中

2021-01-20 15:21:18 3598

原创 哈工大 数字逻辑 期末总结

本总结主要是一些数字逻辑复习中本人感觉考前可以多看看,巩固一下自己基础的知识点。如果想要下载本文可以去:https://download.csdn.net/download/qq_45866407/13994522以下也可进行查看:

2020-12-31 20:32:49 1262

原创 清华大学镜像使用(pip命令)

我们在下载一些外部库时可能会比较的慢,可以使用下述方法:按下win + R,打开cmd,输入:pip install + 包名 + (去掉加号,该包名为需要的包名) -i https://pypi.tuna.tsinghua.edu.cn/simple

2020-08-27 12:22:30 6366

原创 Pytorch系列笔记(十三)

我们来看一个RNN分类器模型:我们将训练来自18种起源语言的几千种姓氏,并根据拼写来预测名称来自哪种语言。我们设想构造下述模型:我们需要想一个方式来转化名字使其更好地在计算机中使用:以下为我们的模型的Backward以及output:以下为完整代码:import torchHIDDEN_SIZE = 100BATCH_SIZE = 256N_LAYER = 2N_EPOCHS = 100N_CHARS = 128USE_GPU = Falseclass NameDataset

2020-08-22 22:10:14 413

原创 Pytorch系列笔记(十二)

我们今天来看看循环神经网络(RNN)。我们先来看看DNN:和CNN:下面我们来看看RNN:而在Pytorch中构建一个RNN只需以下代码:cell = torch.nn.RNNCell(input_size=input_size, hidden_size=hidden_size)hidden = cell(input, hidden)我们声明下文中的相关代码的初始参数:• ????????????????ℎ???????????????? = 1• ?????????????????

2020-08-22 22:04:07 515

原创 Pytorch系列笔记(十一)

今天我们来看看卷积神经网络(CNN)。这是上文中我们做的识别手写数字的例子,下面我们看一个实例GoogLeNet:我们可以发现其实一个复杂的识别系统就是把很多我们前面说过的一些构造连接起来,形成一个比较深的神经网络模型。但是我们可以发现在一个系统中存在很多相同的部分,比如上图中的Inception Module:是这样的一个构造,我们可以发现一个11的卷积层,我们下面来看看:其实就是将我们上文讲过的三个卷积做某种运算之后将其化为一个卷积。那么为什么我们要用这种11这种看似无用的卷积呢?我们

2020-08-22 21:57:46 224

原创 Pytorch系列笔记(十)

我们来看看Basic CNN。就以上文中我们提到的手写识别举例。以下为相关代码:class Net(torch.nn.Module):def __init__(self):super(Net, self).__init__()self.l1 = torch.nn.Linear(784, 512)self.l2 = torch.nn.Linear(512, 256)self.l3 = torch.nn.Linear(256, 128)self.l4 = torch.nn.Linear(128,

2020-08-20 14:51:48 373

原创 Pytorch系列笔记(九)

我们来看看Softmax分类器。这是我们常见的一个神经网络模型。在输出的时候我们常常会遇到多分类问题,这时就需要我们应用Softmax函数来发挥作用了。如图就是一个简单的Softmax函数,它只是求了加权平均值,然后进行分类。而一般情况下,我们会把最后的输出y变成一个独热向量。对于y这一独热向量,我们可以更简单的就可以完成分类任务。上述例子的代码:import numpy as npy = np.array([1, 0, 0])z = np.array([0.2, 0.1, -0.1])

2020-08-19 22:44:37 266

原创 Pytorch系列笔记(八)

我们来看看数据集和数据加载器(Dataset and DataLoader)我们在以前讲解的例子中因为我们的数据集比较小,所以我们把所有的数据就直接不做任何处理就进行相关的训练也是可以的,但是如果我们的数据集比较大,就需要对数据集进行相关的操作才能提高我们的效率。如上图,我们可以先对数据进行shuffle(即进行打乱顺序),然后把这些数据加载并且将其分为不同的batch,一般我们可以将batch设置为5。以下是相关概念的解释:我们看如下的代码:import torchfrom torch.uti

2020-08-19 22:41:23 335

原创 Pytorch系列笔记(七)

我们来看看多维输入(Multiple Dimension Input),我们先看看多维Logistic回归模型:假设我们有一个8维的输入,于是就可以改变我们的Logistic回归模型。运用相关矩阵的知识我们便可以分析出Z矩阵的相关维度,并且b矩阵可以运用广播机制来参与相关的运算。相关代码如下:class Model(torch.nn.Module):def __init__(self):super(Model, self).__init__()self.linear = torch.nn.L

2020-08-19 22:38:34 438

原创 Pytorch系列笔记(六)

我们来看看逻辑回归(Logistic Regression)还是以上文中的例子来进行,假设只要得到一定分数就可以看作可以通过考试:相当于我们不再预测学习4小时可以得到的成绩,而是判断学习4小时是否可以通过考试。在分类中,模型的输出是输入属于确切类别的概率。我们可以引入sigmond函数:可以进行归一化处理,方便我们可以进行相关的分类任务。Loss Function也发生了上述的变化。我们也可以使用mini-batch以下附上完整代码:import torchx_data = torch

2020-08-17 23:45:31 269

原创 Pytorch系列笔记(五)

我们主要来看看使用PyTorch进行线性回归。上图主要介绍了使用Pytorch解决问题的四个步骤:1准备数据集2使用Class设计模型3构建损失函数和构造器4进行训练的迭代。以下先附上代码:import torchx_data = torch.Tensor([[1.0], [2.0], [3.0]])y_data = torch.Tensor([[2.0], [4.0], [6.0]])class LinearModel(torch.nn.Module):def __init__(self)

2020-08-17 23:42:07 211

原创 Pytorch系列笔记(四)

我们今天来思考一个深度学习里很重要的部分—反向传播(Back Propagation)。如图是一个很复杂的神经网络模型,而如果我们要计算(????????????????????)/(????????)的结果时,就会变得很复杂,而这时就需要反向传播,其实它的核心内核就是链式法则。我们以下图的模型为例:首先我们先进行前向传播:接下来我们就可以开始反向传播:下图为线性模型的计算图:在PyTorch中,张量(Tensor)是构建动态计算图的重要组成部分。它包含数据和梯度,分别存储节点和梯度损

2020-08-16 23:14:16 243

原创 Pytorch系列笔记(三)

我们主要来分析一下梯度下降法。以上文的根据学习时间来预测学习成绩的模型为例,上文中我们提到在????=2时可以取得最优的解,如下图所示:但是如果我们遇到更加复杂的问题,仅仅通过我们上述的分析,也可以直接得到????的最优解嘛?显然是不可以的。那么我们就要避免????陷入局部最优解。于是我们可以通过求????在不同位置的梯度来使得我们向着最优值的方向前进。我们可以通过不断地迭代上述的过程来得到我们的最优解。具体数学部分如下:下面我们可以分析相关的代码:x_data = [1.0, 2.0,

2020-08-16 23:10:13 554

原创 Pytorch系列笔记(二)

首先我们设想这样一个场景:在已知学习1,2,3小时以后的成绩的前提下,我们要预测学生如果学习4小时将会取得怎样的成绩。就如下图所示:那么我们可以选择一个线性模型(Linear Model)???? = ???? ∗ ???? + ????,但是对于这个模型而言我们可以做相关的简化,???? = ???? ∗ ????,我们最初给????设一个随机的初值,然后进行相关的计算预测。我们得到了很多组不同的数据,那么接下来要做的就是评估我们的模型是否得到了最优解,于是就引出损失函数(Loss Funct

2020-08-15 23:10:12 166

原创 Pytorch系列笔记(一)

首先呢,我们来看看机器学习究竟是什么?以下这些是我们人类可以做的一些行为:而机器学习呢?就是通过训练让它可以做一些只有人类才可以完成的行为,对于一些事件进行相关的预测,达到一些目标。再接下来我们看看机器学习的相关分类:我们可以看到,机器学习只是AI的一个分支。而接下来这张图为我们讲述了机器学习的相关发展的一个历程,从最开始的Rule-based Systems,到Classic machine learning,最后到现在很流行的Deep learning。接下来看看一些现

2020-08-15 23:03:00 153

原创 Seaborn库的使用---画热力图

热力图,也称为交叉填充表。最典型的使用场景和方法就是列联表的可视化,展现两个离散变量之间的组合关系。当然,在现实问题中,我们也看到更多的反应数据的高热度区域和低热度区域的展示。Seaborn中的heatmap能够帮助我们完成热力图的绘制。heatmap(data, vmin=None, vmax=None, cmap=None, center=None, annot=None, fmt=‘.2g’, annot_kws=None, linewidths=0, linecolor=‘white’,

2020-08-09 11:24:52 1456 1

原创 Matplotlib画热力图---heatmap(逐行注释)

import numpy as npimport matplotlibimport matplotlib.pyplot as pltvegetables = ["cucumber", "tomato", "lettuce", "asparagus", "potato", "wheat", "barley"] #蔬菜类farmers = ["Farmer Joe", "Upland Bros.", "Smith Gardening", "A

2020-08-09 11:16:52 20890 5

原创 Java数据库---DAO使用

最近学习了相关java数据库相关的知识,于是写了一个小程序来实现。使用DAO模式,编写一个控制台程序。输入1后,输出全部学生信息,每行显示一个学生;输入2后,根据提示输入学号,然后输出某个学生信息或提示未找到学生;输入3后,根据提示输入一个学生的全部信息后,提示增加成功;输入4后,先输入要修改的学号,如果没有该学生,提示未找到,如果找到该学生,提示修改该学生的其他信息(交互界面自行设计);输入5后,输入要修改的学号,提示用户是否删除,如用户确定则删除学生。以上5个操作结束后都返回主菜单。以

2020-07-15 17:38:04 673

原创 Java学生管理小系统

最近新学了java,用一个小项目来练练手。编写一个模拟录入学生成绩的程序,该程序包括一个用来记录课程信息的类(Course)记录学生信息的类(Student)用来记录学生选课信息的类(SelectCourse)以及一个用来完成录入过程的类(Test)。下附上代码import java.util.Scanner;public class Test { public static void main(String[] args) { Student[] students

2020-07-04 22:45:24 692

原创 Speech Separation,Deep Clustering,PIT

首先呢,我们来看看什么是Speech Separation问题。人们可以在一个嘈杂的环境中识别出一个特定声音的来源,这个叫做鸡尾酒会效应。这种应用到机器学习领域,我们要做的就是语音增强:语音-非语音分离(降噪)。而Speech Separation就是做不同种类声音的分离的识别工作。那么我们首先规定一下,本文主要讨论两种声音,单一麦克风以及独立的演讲者(即培训和测试演讲者完全不同)的识别工作,在我们收集数据时,我们可以收集两端时间相同的声音讯号,然后就同时播放形成一段新的声音讯号就可以了。首先我们

2020-06-20 22:51:53 1266 4

原创 LM在speech recognition中的应用

今天我们来看看language model(简称LM)在speech recognition中的应用。首先来看上图,LM主要可以预测token sequence 的几率,虽然我们的LAS中其实只需要P(Y|X)的数值即可,但在实际操作中我们还是会加上P(Y)的数值,我们知道P(Y|X)需要的都是成对的数据,但是P(Y)非常容易去收集。我们可以看看,Google的语音训练模型一共使用了12500个小时的声音讯号,而这些基本就有一亿个词汇,相当于100套哈利波特的字数!这也说明数据量会非常的大。而如果知道B

2020-06-09 09:28:25 300

原创 一张图总结LAS,CTC,RNA,RNN-T,Neural Transducer, MoCha模型

2020-05-07 17:21:03 1463

原创 Neural Transducer, MoCha模型总结

Neural Transducer, MoCha笔记首先,先来看看什么是Neural Transducer。如上图所示,我们可以发现Neural Transducer其实就是在输出时加了一个attention。我们可以把n个h来作为一个window,然后利用attention来进行输出处理。根据上图也会对实际window的大小选择起到指导作用。接下来,我们来看看什么是MoCha:...

2020-05-07 17:19:11 1422

原创 RNA,RNN-T模型总结

RNA与RNN-T笔记首先,先来看什么是RNA呢?其实我们可以发现RNA与CTC其实很相像,但是在输出部分其实进行了一系列优化,我们可以看到,在RNA中的前一个token其实对后一个是有影响的。将相当于RNA中有一种dependency关系。接下来我们看一看RNN-T(对RNA进行一系列优化)我们可以看到最大的不太就是RNN-T的每一个h其实不止可以控制一个token,而且可以控制多个直...

2020-05-07 16:57:01 4408

原创 CTC模型总结

CTC总结如上图所示CTC模型就是先将一段声音信号x作为输入输入到encoder中,输出h,再经过一个classifier产生token distribution,最后经过一个softmax输出最后结果。但是如果只是以上这种模型,并不能有很好的结果,因为如果token只是一个大小为V的矩阵的话,不一定每一段x会有输出,于是就会有一个Ø(NULL)便可以有效处理这种情况。如下图所示于是,CTC便...

2020-05-07 16:31:43 4006

哈工大数字逻辑复习总结

哈工大数字逻辑复习总结

2020-12-31

哈工大数字逻辑电子密码锁设计2020

最新2020哈工大数字逻辑设计大作业----电子密码锁设计

2020-12-18

空空如也

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

TA关注的人

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