自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

落队的飞行兵

飞行火箭兵在探索世界...

  • 博客(82)
  • 收藏
  • 关注

原创 MIT 6.S081 Lab11: networking

这次实验是最后一个实验,主要是写一个网卡驱动,在已有的框架下添加一些代码,实验地址在这里。本次实验是写的最不认真的一个了,也是写的最快的了,感谢网上的资源。个人感觉,本次实验内容应该放在讲键盘驱动那部分,当时看完了课程但不是很懂,没想到是最后的实验内容。我的实验代码在 github。由于本次实验与 xv6 系统关系不大,且代码量很少,做的时候就直接参考了网上其他人的,在这里做个记录,以后想看的时候,用来给这门课程的实验结个尾。

2022-01-17 16:13:09 776

原创 MIT 6.S081 Lab10: mmap

最近在忙其他事情,时隔两周,做了第十个实验,试验地址在这里。这个实验只有一个任务,主要是关于文件映射部分,跟文件系统关系不是很大,但与虚拟内存关系密切,部分实现类似于实验五的懒加载。本次实验的前置知识没多少,主要关注 mmap 系统调用的各个参数如何使用,以及其返回值。我的实验代码在github上。

2022-01-17 10:51:26 1303

原创 MIT 6.S081 Lab9: file system

这个实验是文件系统,内容是扩充 xv6 的文件系统大小和实现软链接,实验地址在这里。感觉到这里是操作系统的另一个视图了,跟前面的虚拟内存和进程不太一样,相比来说,操作系统这部分的知识简单一些。为此我去补充了一下相关的知识,再次感觉这门课真好,。能力太差了,写代码花了好长时间,,代码放在了github上。

2021-12-30 01:34:29 1564

原创 MIT 6.S081 Lab8: locks

最近有点忙,。。拖了一周多的时间才开始写这个实验。。这次实验的目的是设计锁,主要目的是降低多线程情况下对锁的竞争,实验地址在 Lab: locks。实验的整体思路还是比较简单的:就是降低锁的粒度,将一个大锁更换为一些粒度小的锁,这样可以大幅度降低锁的竞争。我的代码在 github。关于这次实验,对应的讲义没有太多有帮助的内容,可以直接上手做实验。我是先看了一下一遍对应的课程,虽然跟这次实验关系不是很大,但还是在下面记录一下。

2021-12-25 13:39:25 1618 2

原创 MIT 6.S081 Lab7: Multithreading

这个实验是多线程安全和同步的内容,实验地址在这里。说实话,有点简单,用了一天时间就写完了,感觉最近的实验,从实验三之后难度就降低了很多。但是实验的内容还是很有用的,主要学习了一遍线程的切换过程,感觉受益很多,建议看一下课程里对应的多线程部分。我的实验代码在 github 上,感觉这个实验没太多代码和步骤需要分析,主要是基础知识,这里就随便写点我觉得重要的了。

2021-12-12 13:53:10 998 4

原创 MIT 6.S081 Lab6: Copy-on-Write Fork for xv6

这次的实验与上一个实验(懒分配)很相似,实现写时复制,实验地址在这里。与以往不同的是,这次只有一个任务,虽然是 hard 难度,但写起来并没有很吃力,应该是我写的最快的一个实验了。思路很简单,主要是容易出现各种 bug,debug 的过程会比较煎熬,。我的代码在 github 上。

2021-12-07 21:33:54 1268

原创 MIT 6.S081 Lab5: xv6 lazy page allocation

这个实验主要是写内存的懒分配(Lazy page allocation)应该是目前为止最简单的了?!实验说明地址在Lab: xv6 lazy page allocation,我的代码在 github。断断续续的做也没用多长时间,。需要的知识比较简单,可能会比较考验 debug 的能力,不过参考一下网上的经验,还是很容易解决的。

2021-12-06 02:22:30 2164 3

原创 MIT 6.S081 Lab4: traps

这次实验主要是写与 traps(中断陷阱)有关的代码,实验指导书在这里。总体来讲,代码量不是很大,大部分时间都思考应该怎么写、为什么这么写可以、函数是怎么运行的等问题。终于在思考了几天后完成了这次实验,实验代码在我的 github 上。建议在做实验之前看看课程或者讲义,感觉这次的课很精髓,对做实验很有帮助。

2021-12-02 16:31:44 1883 5

原创 MIT 6.S081 Lab3: page tables

今天做完了 6.S081 Lab3: page tables,实验三的主要任务是增加一个页表。本来计划上周就做完,但自己的基础知识实在匮乏,又先去补充了一下虚拟内存方面的知识,把李志军老师的操作系统慕课看了一些,周末才开始搞。中间遇到了一些bug,参考了一下大佬们的实现,磕磕绊绊算是做完了~,代码在 github 上。感觉这个实验跟前两个不是一个级别~

2021-11-25 01:52:07 2027 3

原创 MIT 6.S081 Lab2: system calls

先看了一下所需要的系统调用方面的知识,然后花了两天时间做完了实验二,实验手册在 syscall,我的实验代码在 github。实验二的目的是让我们实现两个系统调用函数,先来简单介绍一下前置知识。操作系统的主要功能就是管理硬件,避免程序直接和硬件进行交互,而是通过内核来操作硬件,例如,使用CPU、读取内存和写入磁盘等操作。操作系统具有两大特性:隔离性(Isolation)和防御性(Defensive)。

2021-11-11 17:35:16 1346

原创 MIT 6.S081 Lab1: Xv6 and Unix utilities

这周开始做 MIT 的 6.S801 操作系统实验,补一下本科时的基础,希望能一直做下去,二哥监督!刚做完实验一,地址在 Lab: Xv6 and Unix utilities, 在这里做一下记录。

2021-11-04 15:58:50 1910 1

原创 虚拟换衣 CP-VTON 论文笔记

作者认为,在 `VITON` 在处理衣服上的细节生成时,效果不够好。作者分析了一下原因,归纳了两点主要的问题:1. 由于衣服和身体形状对齐时的变形处理的不好,导致衣服和身体的匹配程度不够。2. 衣服图像和合成图像的外观合并策略不够完善。为此,作者分别针对这两个问题,提出了自己的两点改进,并做了实验进行验证。论文的主要贡献有两点:1. 提出了一种新的可学习的薄板样条变换。2. 提出了一个新的试用模块(Try-On Module)。

2021-08-12 16:59:29 2595 5

原创 虚拟换衣 VITON 论文笔记

VITON 应该是第一篇专注于图像的换衣论文了,发表于2018年的CVPR,后续的很多虚拟换衣的工作都是基于这篇文章,可以说是图像换衣领域的开山之作了。该算法目的很明确,就是给定两张图像,一张是包含穿着任意衣服的人的图像,另一张是一件衣服的图像,算法就会生成一张这

2021-08-09 14:52:52 4497 4

原创 安装 Centos 7 的两个问题

这几天看了一下鸟哥的linux私房菜基础篇。准备安装一个 Centos 系统学习一下。刚好今天主机的所有硬件都到齐了,于是就开始装机+装系统。安装 centos 系统一共有俩问题,全都是因为使用 UltraISO 直接或间接导致的。强烈不建议使用这个刻录 centos 系统的启动盘。

2020-07-17 19:52:11 335

原创 IP 代理池的搭建(笔记)

前言去年实习的时候做过爬虫,但是理解的很浅,所以今年趁着在家的时候,又打算认真地学习一下。刚好看到崔庆才老师拉勾网的教程 52讲轻松搞定网络爬虫,于是就跟着学了一下。到代理池这时,由于一些基础东西没整明白,耽误了好一阵,好在整个项目代码量不大。断断续续的,终于在今天对着 github 敲完了一遍,有的地方做了一下小改动。在这里记录一下搭建过程和最后结果。具体参考崔老师的博客:[Python3网络爬虫开发实战] 9.2-代理池的维护 和项目地址:ProxyPool代理池介绍爬虫的反爬方法有很多,最简单

2020-05-09 20:30:42 782

原创 datawhale 学习笔记——模型融合入门

前言这是 datawhale 数据挖掘学习的最后一次打卡——模型融合,内容很好理解,就是将训练出来的多个模型融合在一起,集成,形成一个效果更好的模型。这次的任务基本上是比较独立的,既没有用到 task3 的特征工程内容,也没有用到 task4 中创建的模型,相对比较独立。不过这次打卡不打算粘贴什么代码了,代码全都在教程里,这里只记录一下我的理解。简而言之,模型的融合方法大致有以下三种:加...

2020-04-03 23:29:30 457

原创 datawhale 学习笔记——建模调参入门

前言居然又拖到了最后一天才开始打卡,。果然 ddl 是第一生产力。放上这次的教程链接:Datawhale 零基础入门数据挖掘-Task4 建模调参看标题就知道这次的这次的内容是建模和调参。虽然说是零基础入门系列,但是这次的教程对真的零基础的人来讲并不是很友好,还是需要很多前置知识的。主要是机器学习模型方面的教程,教程里给出了几篇作者写的文章。个人感觉需要一定门槛,如果看不懂建议参考其他的。...

2020-04-01 19:52:45 622

原创 datawhale 学习笔记——特征工程入门

特征工程介绍我理解的特征工程是一种更深层的数据分析,为特定的数据做处理,深挖其中的信息,以便后续模型得到更好的效果。本文是参考天池二手车预测比赛的教程——特征工程做的笔记,task3 中提到了很多特征处理的方法,主要介绍了其中的五种方法:异常数据处理特征构造数据分桶特征归一化特征筛选首先,导入需要的包,并载入...

2020-03-28 18:34:25 459

原创 datawhale 学习笔记——数据分析入门

写在前面(这部分是废话)这是参加 datawhale 数据挖掘的第一次打卡,打卡内容是数据分析,希望自己能坚持做下去。开始的时候,第一天看了一下题目背景,运行了一下 baseline,刚好中期报告要改,就放下了。今天在这里做一下数据分析这部分的笔记。介绍本文主要是根据天池上的教程进行学习的,一些不理解地方做了笔记,内容没有教程全,附上教程链接:Datawhale 零基础入门数据挖掘-Task...

2020-03-24 18:59:35 1082

原创 使用 PyTorch 处理CUB200_2011数据集

最近在研究一些深度学习的东西,想找一些数据集,第一眼看到 CUB 的时候,就相中它了,数据集大小合适,类别还很多,关键还提供了目标检测的边框,不仅可以做分类,还可以做检测(虽然只是单目标检测~),感觉很酷,想研究一下。CUB 数据集一共 200 个类别,共 11788 张图片,每张图片除包括类别标签外,还有一个标注的物体边框(Bounding Box)、关键点和一些其他属性,算是一个很细粒度的图像分类的数据集了。

2020-03-17 22:28:27 8264 8

原创 Arduino 输入引脚悬空时,串口信号不稳定

问题描述最近开始玩 Arduino, 在设置数字引脚为输入端时,发现了一个现象,当引脚没有用杜邦线连接到下拉电阻或上拉电阻时,串口的信号就会发生震荡,很不稳定。引脚用杜邦线接出来但没有连接也是一样的效果。这个现象与我正常理解的不太一样,我理解的是在不接地或者没有信号时,引脚的串口信号会保持一个稳定的状态(保持高电压或者低电压),但事实是,信号会随机变化。但是由于引脚信号在使用过程中需要变化...

2019-12-12 16:21:12 7106 5

原创 利用 MSR Identity Toolkit v1.0 中的 GMM-UBM 做语音说话人确认

最近开始搞毕设,刚完成一个小任务,趁着有空,整理一下这学期的实验。时间有点久远了,害怕时间再长一些,自己真的就全忘光了。本实验很大一部分参考了班级里一位萌妹子的博客,在这里贴一下地址:hit说话人确认实验实验中,就写了一些生成配置文件的 python 代码,关于说话人确认部分的代码基本没写;因此感觉,这个实验,有点,,,。。。emm,主要还是自己事情有点多,直接选了个最简单的。

2019-12-06 21:59:38 1843 6

原创 lucky boy

本文不讲任何知识,纯属个人随笔,算是这个博客上的第一篇随笔了。突然发现,写着写着,变成了自己保研的经历帖。。。那就改改标题啥的吧,要不文不对题了,刚好最近特喜欢肖茵的《lucky boy》,感觉自己就是个 lucky boy,哈哈哈。

2019-10-31 17:24:00 499 6

原创 基于 PyTorch 实现 ResNet-18 并在Cifar-10数据集上进行验证

通常的认识是,神经网络的深度越深,效果越好;但事实并不完全一致,太深的神经网络很容易导致梯度消失或梯度爆炸。ResNet 网络的提出,就是为了解决网络深度增加的问题。ResNet 提出了一个新的网络块——残差块:

2019-06-23 21:23:49 7197 15

原创 基于 PyTorch 实现 VGG-11 并在Cifar-10数据集上进行验证

VGG 论文地址:VGG 是一个很经典的卷积神经网络结构,是由 AlexNet 改进的,相比于 AlexNet,主要的改变有两个地方: 使用 3 x 3 卷积核代替 AlexNet 中的大卷积核 使用 2 x 2 池化核代替 AlexNet 的 3 x 3 池化核

2019-06-23 19:48:16 4628

原创 基于 PyTorch 实现 AlexNet 并在 Cifar-10 数据集上进行验证

这是深度学习课程的第二个实验,实验的主要内容是卷积神经网络,要求实现 AlexNet。但是 AlexNet 的输入不符合 Cifar-10 数据集,因此这里将参数更改了一下,但网络结构没有变,还是五层卷积,三层全连接。虽然对于 32 X 32 这么小的图片,用 AlexNet 有点大材小用的感觉,但实验要求,而且对于初学者来说,AlexNet 还是很经典的,能学到不少东西,直接干就好了。

2019-06-20 13:21:23 11449 13

原创 使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证

这是深度学习课程的第一个实验,主要目的就是熟悉 Pytorch 框架。MLP 是多层感知器,我这次实现的是四层感知器,代码和思路参考了网上的很多文章。个人认为,感知器的代码大同小异,尤其是用 Pytorch 实现,除了层数和参数外,代码都很相似。Pytorch 写神经网络的主要步骤主要有以下几步:1. 构建网络结构2. 加载数据集3. 训练神经网络(包括优化器的选择和 Loss 的计算)4. 测试神经网络

2019-06-15 23:36:27 12089 7

原创 tensorboardX 报错 OSError: [Errno 22] Invalid argument

最近,在学习 tensorboardX 时,生成了 log 文件,但是,执行 tensorboard --logdir=runs 的时候出现了下面的bug:TensorBoard 1.13.1 at http://DESKTOP-T3AN8OM:6006 (Press CTRL+C to quit)Traceback (most recent call last):File “d:\ana...

2019-05-28 19:08:00 1136 1

原创 AttributeError: module 'torch.utils' has no attribute 'data' 解决方法

今天在用 pytorch 实现自定义数据读取时,出现了下面这个bug : AttributeError: module 'torch.utils' has no attribute 'data' 原因是自己没有导入 'data' 包,不能通过 '.' 的方式使用;添加 import torch.utils.data 或是 另一种导入包的方式:from torch.utils import data 都可以

2019-05-25 00:04:44 30650 6

原创 找出字符串中第一个字母和最后一个字母是第一次重复且中间没有重复字母的最长子串

请编写一段代码,满足以下要求:给出任意一个字符串,打印一个最长子字符串及其长度,如果有相同长度的子字符串,都要一起打印出来,该子字符串满足以下条件:(1)第一个字母和最后一个字母是第一次重复(2)这个子字符串是满足条件里面的最长的(3)第一个字母和最后一个字母之间的字母不能重复例如,给定字符串为 adsasadm...

2019-04-05 21:12:17 1487 4

原创 隐马尔可夫基本思想(HMM)

写在前面我在学习语音处理的时候,课上老师花了很大的精力给我们讲解 HMM 算法。然而当时没有认真听,直到快考试了,才去学。一直觉得 HMM 是一个很神奇的东西,但搞懂它的思想其实并不难。本文不讲算法,只为读者介绍 HMM 的基本思想。马尔科夫链开始,一定要明白马尔科夫链是个什么东西,这是理解 HMM 的基础。马尔科夫链是马尔科夫随机过程的特殊情况,它有两个参数——时间和状态,这两个参数都是...

2019-02-28 22:18:27 868

原创 快速中值滤波——Python实现

中值滤波是空域中常用的一种滤波方式,是一种非线性的滤波。它的原理就是将窗口像素排序,取中值,然后移动窗口,不断重复取中值的过程。快速中值滤波是中值滤波的优化版,它利用了窗口每次平移时,没有移出窗口的像素点还是排好序的,因此,只需要把新加入的像素点插入到其中即可完成排序。此外,由于我们并不需要一个完整的排序数列, 只需要找到中值就可以了。

2019-02-28 11:31:44 6714

原创 空域中图像处理算子

空域也叫空间域,是一种像素级上的操作,即直接对图像上的像素值进行增加或减少。空域滤波按照过滤频率的高低,分为平滑(模糊)和锐化,平滑对应低通滤波;锐化对应高通滤波。也可以按照滤波的算法,分为线性滤波和非线性滤波,线性滤波就是滤波过程中,对像素的处理是线性的,如加减乘除等;而非线性滤波就是像素的处理是非线性的,如取最大值、取中值等。

2019-02-27 23:33:14 2395 1

原创 快速双边滤波——Python实现

课程的最后一个实验是处理雀斑,网上查找了很多方法,最后我选择了快速双边滤波。但是实验又不能直接调用 opencv 的库,因此,我参照了这个博客,将用 C 写的快速双边滤波改用 Python 重新写了一遍。快速双边滤波是啥呢,官方滴说,它是一种非线性的滤波方法。它最大的特点就是既使用了颜色的相似度,又利用了空间的距离相似度。也就是

2019-02-26 14:30:00 10053 7

原创 requests 爬虫的通用结构——爬取芬兰网站

最近在学习爬虫,发现 requests 这个库在爬取小规模网页的时候,非常好用。用 requests 库爬取了几个芬兰的网站,发现,可以用一套代码结构来爬取这种网页。下面介绍一个爬取 芬兰日常 这个网址的代码结构。为了便于理解,这个网站是找的几个当中,最简单的。如果需要爬取更复杂的网站,可以在上面进行扩展。利用 requests 库写的爬虫,无外乎这几个步骤:1. 解析当前的 url,并找出这个 url 页面内所有需要爬取的子链接。2. 获取每个超链接页面的详细信息3. 保存数据

2019-01-22 00:16:28 2835

原创 Python爬虫——正则表达式基础

正则表达式是处理字符串的一种很强大的工具,我们可以利用正则表达式自由地处理字符串。作为处理字符串的强大工具,正则表达式在处理爬虫的请求内容方面,有着巨大的作用。下面就从 Python 的五个函数开始,来简单介绍一下正则表达式以及它在处理爬虫请求方面的应用。...

2019-01-19 19:14:36 433

原创 五个简单的 Requests 库爬虫实例

本文是中国大学MOOC上的 Python网络爬虫与信息提取 课程中的笔记,是五个基本的爬虫操作,个人觉得其中的方法比较常用,因此记录下来了。

2019-01-18 23:54:51 2427

原创 Requests库基本使用

Requests 库介绍Requests 库是一个非常容易上手的 python 爬虫库,相比于 urllib 库, requests 库非常简洁。下面是我在看视频教程的过程中,记录的一些笔记。get() 方法requests 基本的 get 方法首先来看一下 requests 下 get 方法的基本用法,下面代码输出了 get() 方法返回值的类型和状态码(状态码为 200 表示请求成功)...

2019-01-17 21:54:55 8989

原创 SQL错误(1064):You have an error in your SQL syntax; check the manual that corresponds to your MySQL

在 mysql 中报错:SQL错误(1064):You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR2(32) NOT NULL comment 'P',Ywlx number(5) comment '业务类型',Ywid' at line 2

2018-12-24 22:27:40 43764 1

原创 MatplotlibDeprecationWarning: The 'hold' keyword argument is deprecated since 2.0.mplDeprecation)

D:\Anaconda3\lib\site-packages\matplotlib\pyplot.py:3126: MatplotlibDeprecationWarning: The ‘hold’ keyword argument is deprecated since 2.0.mplDeprecation)Setting or unsetting hold (deprecated in...

2018-12-13 13:41:04 2872

空空如也

空空如也

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

TA关注的人

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