- 博客(571)
- 资源 (4)
- 收藏
- 关注
原创 【神经网络实战】MNIST
经过一段时间的学习,终于要迎来这个激动人心的时刻了,我们要开始写我们自己的神经网络了!不过在此之前还是先回顾一下之前所学到的知识。回顾与复习Python是一门比较简单的语言,本次实战就是用Python来写的,因此先要在电脑上安装好Python。我们从最简单的感知机开始,渐渐地推广到多层的感知机。在引入了激活函数后,实现了从感知机到神经网络质的飞跃。然后我们开始了解神经网络的结构,深入地了解输出层是如何设计的,在此基础上又理解了信息是如何在神经网络中正向传递的。最后,我们了解了一些微积分的知识,学会了
2021-08-16 22:26:00 719
原创 【序】青甘大环线
青甘大环线是一条非常值得去的线路,它沿途经过了非常多著名的景点,包括:青海湖,茶卡盐湖,敦煌莫高窟,嘉峪关,张掖七彩丹霞。先上图!途径著名的G315国道,可以欣赏美丽的U型公路。而且这条线路涵盖了绝大部分的地貌,包括平原,高原草原,戈壁滩,雪山,沙漠。...
2021-07-25 16:10:18 212
原创 【序】泰国自由行
这次的自由行并没有做足准备,出发前也没有具体的行程,只有个大概要游览的景点,就这样仓促出发了。这一次,也是第一次出国的自由行,虽然在国内已经有很多次自由行,去国外也有过不少的跟团游,但这一次是完全不一样的。
2019-08-30 16:04:04 230
原创 【pytorch】LSTM神经网络
在处理时序数据,已经有和两个比较经典的网络。当然还有一种LSTM神经网络,长短期记忆神经网络。从发展历史来看,是现有LSTM再有GRU的,但是从复杂度来看,LSTM比GRU更加复杂。先来回忆一下GRU,其有两个门(更新门和重置门),有一个记录历史信息的向量Ht。而LSTM就更加复杂了,无论是在门的数量上还是记录历史信息的向量上。...
2022-07-27 11:44:57 2790 2
原创 【pytorch】CNN实战-花朵种类识别
采用CNN神经网络中经典的resnet18模型,对Flowers数据集进行分类。运用了图像增广技术与微调技术,在5轮训练后正确率超过了90%,在经过15轮训练后,精度可以达到97%。
2022-07-25 20:37:14 3241 1
原创 多目标检测
这是最简单的情形,只需要判定一张图片是属于哪一个类别即可。这种图像往往有一个非常显著的特殊,就是图像主体清晰且突出。但是日常生活中这类图像并不多,更多的是一张图片中包含了多个主体,此时单纯的目标分类就无法满足了,需要使用多目标检测。...
2022-07-24 20:25:35 3639
原创 【pytorch】微调技术
训练神经网络是一件非常耗费时间的事情,其需要大量的算力以及大量的数据。显然从头开始训练并不是明智之选,利用好已有的资源才是明智之选。
2022-07-24 19:57:12 610
原创 【pytorch】图片增广
在神经网络的训练过程中,往往需要大量的图片,大量的数据,否则可能会造成过拟合与欠拟合。然而并非都能找到合适的数据,因为标注标签的成本太高了,因此非常有必要利用好手上现有的数据。...
2022-07-24 19:28:12 597
原创 从全连接到卷积
作为图像处理中的一大核心工具,卷积已经应用在各个方面。但是卷积是如何而来的呢?从某种意义上来说,我们可以认为卷积是一种特殊的全连接,它就是从全连接层,根据某些图片的特点,演变而来的。因为全连接网络在处理图片上存在着很多问题。......
2022-07-17 20:38:02 785
原创 神经网络中的数值稳定性问题
数值稳定性,这个说起来简单但真正碰到确实一个非常难的问题,而且它十分的重要。当神经网络在训练的过程中,碰到NAN和inf的时候,是最为恼火的,这严重地影响了训练。有的时候,模型不断训练但没有结果也可能是数值稳定性问题。...
2022-07-17 17:30:37 768
原创 【pytorch】线性神经网络
回归是一种能更加多个变量之间的关系进行建模的一种方法,其在机器学习中有着官方运用。线性回归是其中最最最最简单的一种,其假设自变量与因变量之间是线性关系。利用pytorch就可以简单地写出线性回归的代码。...
2022-07-14 20:00:41 386
原创 【pytorch】简单的线性回归模型
回归是一种能更加多个变量之间的关系进行建模的一种方法,其在机器学习中有着官方运用。线性回归是其中最最最最简单的一种,其假设自变量与因变量之间是线性关系。利用pytorch就可以简单地写出线性回归的代码。...
2022-07-14 19:46:07 864 1
原创 Jupyter botebook开机自启动
jupyter notebook是一个非常好用的记事本,其不仅仅可以写代码,也可以写文字等,相比于纯代码,其更有容易读懂。而且jupyter notebook是一个网页,可以非常简单地打开。相比于服务器的命令行界面,它图形化操作更加容易被用户接收。通过远程连接,就可以轻松地访问服务器上面的jupyter notebook了。但是如果每次都需要先连接服务器启动notebook的话,也十分麻烦,因此我们需要将其设置为一个后台服务。这一点非常重要,也为了避免后面的操作频繁地输入。...
2022-07-09 15:32:56 911
原创 微分与梯度
在最优化的过程中,常常需要用到导数,比如最经典的随机梯度下降法,其原理就是每次选取梯度最大的方向,对参数值进行修改。根据标量与向量,我们可以简单的分为4类。
2022-07-08 11:44:43 588
原创 jupyter notebook远程连接
jupyter notebook是一个非常好用的记事本,其不仅仅可以写代码,也可以写文字等,相比于纯代码,其更有容易读懂。而且jupyter notebook是一个网页,可以非常简单地打开。相比于服务器的命令行界面,它图形化操作更加容易被用户接收。...
2022-07-07 21:38:16 2344 1
原创 Numpy的基本用法
Numpy是一个python用来处理数学问题的包,全程是Numerical Python。其最重要的一点就是,提供了n维数组,弥补了list的不足。而且Numpy还有一个优势,就是快。它可以利用矩阵的计算优化,比用循环计算要快很多。.........
2022-07-07 10:00:28 510
原创 Heroku搭建简单网站
在这个“互联网+”时代,搭建一个普通的网站可以说是一个必备技能了。利用Github与Heroku配合,就可以简单地搭建出一个网站,更重要的是,这两个东西都是免费的。
2022-07-06 19:41:07 2397 1
原创 MiniConda在Ubuntu终端的安装
Miniconda是一款小巧玲珑但是非常好用的软件,其大小只有不到百MB,对于服务器等是非常方便的。其安装过程非常简单,而且可以完全在终端内完成。
2022-07-04 10:37:19 445
原创 Control Unit 控制部件
在控制部件中,通过对指令编码的 op 、func 字段进行逻辑运算,来输出对应的控制信号。此模块仍然采用了门级实现,门级实现的代码虽然较为繁琐冗长,但是其更有利于我们理解电路内部的逻辑。...
2022-07-03 17:03:20 774
原创 ALU逻辑运算单元
根据(二)中对单周期 CPU 的定义,该模块需要实现以下 4 类运算:加、减、按位与、按位或。因此需要 2 bit 的控制信号 Aluc 来控制 ALU 的运算类型。
2022-07-03 16:55:01 1282
原创 过拟合与正则化
过是一个神经网络训练过程中,经常会遇到的问题,简单来说,就是模型的表现了,学习能力太强了,以至于把训练集的所有细节都记录下来了。当遇到测试集,就是之前完全没有见过的数据的时候,就会出现明显的错误。...
2022-07-02 20:07:31 230
原创 常见的最优化方法
在神经网络的训练中,其本质就是找到合适的参数,使得loss function最小。然而这个最小值实在是太难求了,因为参数太多了。为了解决这个问题,目前有几种常见的最优化方法。这是最最最经典的一个算法,也是比较常用的方法。相比于随机搜素,这个方法已经非常优秀了,但是仍然存在着一些不足。由于梯度的性质,决定了其很难在部分地方能够改进,但是对于步长这个超参也可以有优化。...
2022-07-02 11:37:50 1039
原创 Vim中安装自动补全插件YouCompleteMe
前言自动补全:YouCompleteMe可以说是Vim中最好用的插件了,但是它的安装也可以说的上是Vim中最难的一个了。往往会出现各种错误,在还没有享受到这个插件给我们带来的快感时就会被安装的各种错误劝退。此处提供一种能正确安装的方法。安装过程先克隆代码:git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe涉及到github,故安装的时候需要保持畅通的网络,以免出现问题。进入到对应的文
2022-04-03 20:01:23 2462 1
原创 Ubuntu 安装mujoco
前言mujoco是一个非常实用的强化学习的环境。安装环境ubuntu20下载先去其官网下载安装包。下载地址选择下载200 linux版本,一个压缩包。获取密钥同样是在官网上,任何人都可以获取,直接下载一个txt文件即可。解压首先,需要建立一个文件夹,在根目录:mkdir ~/.mujoco将压缩包复制过去:cp ~/Downloads/mujoco200_linux.zip ~/.mujoco/进入~/.mujoco,使用unzip命令解压。复制密钥将下载的txt文件复制过去。
2022-03-29 22:07:27 1301
原创 Ubuntu更换下载源
由于种种原因,在使用apt-get命令的时候总会出现各种各样的问题,比如说下载速度慢,或者出现W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/precise/InRelease情况。在国内有着不少的镜像提供,包括清华大学、阿里云等在这里推荐使用清华大学提供的镜像。1 查看镜像链接ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror根据不同版本的Ubuntu系
2022-02-07 10:12:57 6466
原创 Ubuntu安装LaTeX
1 前言LaTeX是一个非常好用的东西,其在编写数学公示的时候非常方便,其将文章的排版以代码的形式呈现,这种方式很符合程序员以及科学工作者的审美和工作习惯。2 Texlive简介TeX Live 是 TUG (TeX User Group) 维护和发布的 TeX 系统,可以说是「官方」的 TeX 系统。其相比其他的系统优势在于能够保证更新,兼容性强,也能保持在跨操作系统平台、跨用户的一致性。3 安装Texlive在终端安装,输入如下命令:sudo apt-get install texlive-
2022-02-07 09:56:11 5630 1
原创 U盘Linux启动引导
前言在给U盘安装系统的时候,很有可能不小心将启动引导安装到别的地方。而将U盘中系统的启动引导安装到别的地方时候就会造成非常麻烦的后果。比如电脑启动的时候可能会因为引导出错(找不到U盘,因为没插U盘),出现如下界面而U盘插在别的电脑上因为没有启动引导,导致其无法启动。因此在U盘上设置一个启动引导就非常重要。1 查看分区情况打开gparted即可看到当前分区情况,分出一块几十M的区域,格式化为fat32格式。查看其信息,并记录下UUID,如AAAA-0000。...
2022-01-30 16:15:51 3053
原创 Y - 孩子与玩具
Y - 孩子与玩具题目大意有nnn个小朋友,kkk个玩具,每个小朋友都有2个喜欢的玩具。当他选择的时候,他会将他喜欢的玩具全部拿走。求小朋友选择玩具的顺序,使得拿不到玩具的小朋友数量最少。题解玩具是有限的,要使拿不到玩具的小朋友数量最少,就要使拿到2个玩具的小朋友最少。也就是说,尽可能让拿到1个玩具的小朋友多。于是就可以用贪心的思想:首先,将一个小朋友喜欢的两个玩具连边,建图,然后求一个最小生成树就可以了。时间复杂度建图的时间复杂度是O(k)O(k)O(k)的,并查集的复杂度可以近似
2021-10-07 08:16:33 232
原创 O - 土豆的集合
O - 土豆的集合题目大意查询某两个点是否联通,或者将某两个点联通,支持查询历史版本。题解如果不需要查询历史版本,那么显然就是并查集。要支持历史版本,那就可持久化一下。但是并查集不能路径压缩,为了保证时间复杂度,需要按秩合并。注意:要及时更新root数组,即便是需要连接的两个点已经联通。时间复杂度按秩合并后的并查集,每一次查询是O(logn)O(\log n)O(logn),可持久化的时间复杂度是O(logn)O(\log n )O(logn)。因此,总的时间复杂度为O(m×lo
2021-10-07 08:15:22 147
原创 N - 土豆的序列
N - 土豆的序列题目大意让你写一棵平衡树。题解写一棵splay。注意:对于询问的数x,如果不在splay里,就先要找到一个在splay里的数替换它,再进行查询操作。时间复杂度利用势能分析!设势函数Rx=log(sizex)R_x=\log (size_x)Rx=log(sizex),可知splay操作的均摊时间复杂度都小于3×(Rx′−Rx)3\times(R_x'-R_x)3×(Rx′−Rx),因此,nnn个点,进行mmm次splay的均摊时间复杂度为O(n×logn+
2021-10-07 08:13:52 123
CNN神经网络-resnet18模型-Flowers分类
2022-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人