自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

耐心的小黑的博客

爱学习的小黑!

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

原创 树莓派4b学习笔记四:树莓派连接无线WiFi和远程控制的几种方式

一、连接WiFi的三种方法1、目前还无法通过ssh远程连接树莓派你想通过SSH连接你的树莓派,但是此时你没有IP地址,所以还不能直接通过SSH来远程连接。这种情况一般是我们刚买来树莓派的时候。这个时候我们可以采取以下方式:将镜像烧到SD之后,我们通过读卡器在电脑上打开SD卡,然后新建文件,文件名为wpa_supplicant.conf,写入country=CNctrl_interface...

2020-04-30 11:28:18 5158

原创 linux驱动开发学习笔记十:字符设备驱动改进版

在这里首先要说一下,之所以称作新写法,是针对我之前的一篇文章—如何开始编写你的第一个字符设备驱动?来说的。今天要说的新的写法,和之前比,主要变化在于:分配和释放设备号的方式字符设备注册的方式不再需要手动创建设备节点好了,下面就来一个一个的说。一、分配和释放设备号之前我们使用 register_chrdev函数注册字符设备的时候只需要给定一个主设备号即可,但是这样会带来两个问题:...

2020-04-29 22:14:39 1894

原创 linux基础学习笔记四:带你认识一下shell

一、什么是shell?由于安全、复杂、繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核,这样用户就能间接地使用操作系统内核了。你看,在用户和内核之间增加一层“代理”,既能简化用户的操作,又能保障内核的安全,何乐不为呢?用户界面和命令行就是这个另外开发的程序,...

2020-04-29 13:54:42 1643

原创 linux基础学习笔记三:磁盘分区那点事

一、什么是磁盘分区?简单来讲,就是将我们的磁盘分成多个部分,每个部分占用一定的空间,就像我们在Windows中使用的C、D、E、F盘一样。二、为什么要进行磁盘分区?还是以我们的Windows为例,我们划分为多个盘的目的就是让它们各司其职,方便我们的使用。比如C盘存放的大多是和系统相关的数据,D盘、E盘、F盘等我们可以分别用来存放一些办公,学习,娱乐等相关数据,这些都是由我们自己来决定的。三...

2020-04-28 21:39:03 1748

转载 linux驱动开发学习笔记九:menuconfig过程详解

当我们执行make menuconfig时,系统到底帮我们做了什么?这里面一共涉及到了以下几个文件,下面我们逐个的讲解:Linux内核根目录下的scripts文件夹arch/$ARCH/Kconfig文件、各层目录下的Kconfig文件Linux内核根目录下的makefile文件、各层目录下的makefile文件Linux内核根目录下的的.config文件、arch/$A...

2020-04-27 14:23:02 2125

原创 linux驱动开发学习笔记八:配置内核必不可少的工具--menuconfig

一、常见的几种配置工具介绍在配置内核的时候会有很多配置方法:make menuconfigmake xxx_defconfig直接修改.config注意: 其中menuconfig是一个图形化配置工具,在后面我们会着重介绍;xxx_defconfig是在arch/arm/configs文件夹下的一些默认配置文件;.config是编译的时候系统默认读取的配置文件,如果直接修改.conf...

2020-04-27 12:38:27 3341

原创 linux驱动开发学习笔记七:将驱动程序编译成.ko文件或者直接编译进内核

一、前言       也学了10天左右的linux驱动开发了,一般学习新知识的时候,我都喜欢首先理清思路,然后才去关注更加细节的东西,这次也不例外。       正如我前面写的几篇博客,主要内容包括linux内核和linux发行版的概念与区别;linux系...

2020-04-26 14:41:50 5252 1

原创 linux基础学习笔记二:认识一下非常好用的man命令

一、前言最近在学习驱动开发的过程中,经常要用到各种各样的命令(把函数也当做是一种命令),比如昨天就使用到了open、read,write、release等函数。在刚开始使用的时候,一般不知道函数原型,不知道参数都有哪些,不知道返回值是什么,尤其是不知道应该包含什么头文件才能正常使用等等等等。即使是你已经使用很多次,也难免会忘记,总之有一个可以随时查看命令的详细信息的方法,对我们写程序是很有帮助的...

2020-04-22 13:30:27 1435

原创 linux驱动开发学习笔记六:如何编写应用程序去验证我们的字符设备驱动程序?

一、首先是编写应用程序APP首先需要说明的是,编写测试 APP 就是编写 Linux 应用,需要用到 C 库里面和文件操作有关的一些函数,比如open、read、write和 close这四个函数。我们可以使用man命令来使用编程手册,也即它可以查询很多函数应该如何使用。包括应该包含哪些头文件,函数原型,参数以及返回值等等。这是非常好用的一个命令,具体的使用方法我们以后再说,你也可以去网上搜一...

2020-04-22 00:34:26 2721

原创 linux驱动开发学习笔记五:如何开始编写你的第一个字符设备驱动?

一、驱动模块的加载和卸载Linux 驱动有两种运行方式,第一种就是将驱动编译进 Linux 内核中,这样当 Linux 内核启动的时候就会自动运行驱动程序。第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko),在Linux 内核启动以后使用“insmod”命令加载驱动模块。在调试驱动的时候一般都选择将其编译为模块,这样我们修改驱动以后只需要编译一下驱动代码即可,不需要编译整个 Linu...

2020-04-21 23:46:53 2651 1

原创 linux驱动开发学习笔记四:设备驱动的作用?裸机设备驱动和linux系统中的设备驱动有什么区别?

一、什么是设备驱动及其作用?       任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁。 硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。硬件较固定,软件...

2020-04-21 12:28:07 2339

原创 linux基础学习笔记八:Makefile基础学习

文章传送门:https://www.cnblogs.com/tp-16b/p/8955462.html自己阅读之后,发现这篇文章写的非常不错,虽然没有把所有的关于make和Makefile的知识点都列出来,但是对于小白理解它们还是非常有帮助的,至少我看过之后对于make如何执行以及Makefile如何编写都有了不错的理解。这篇文章的主要包括以下几个内容:Makefile是什么?程序...

2020-04-19 22:55:32 1621

原创 linux基础学习笔记七:linux系统目录以及linux内核源码目录分析

一、Linux系统目录分析登录系统后,在当前命令窗口下输入命令: ls / 你会得到如下的信息:树状目录结构:以下对这些目录进行简单的解释:/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev是Device(设备)的缩写, 该目录下存放的...

2020-04-19 19:52:08 1950

原创 linux驱动开发学习笔记一:关于linux内核的一些基本概念

一、什么是linux内核?Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。...

2020-04-18 11:00:54 1935

原创 tensorflow2.x学习笔记二十五:tf.where和tf.boolean_mask的使用

一、tf.wheretf.where(condition, x=None, y=None,name=None)condition:一个Tensor,数据类型为bool类型如果x、y均为空,那么返回condition中值为True的位置如果x、y不为空,那么x、y必须有相同的形状。如果x、y是标量,那么condition也必须是标量。如果x、y是向量,那么condition必须...

2020-04-16 15:19:07 1743

原创 tensorflow2.x学习笔记三:Tensor(张量)的定义、切片

一、创建张量

2020-04-16 13:14:57 2077

原创 tensorflow2.x学习笔记二十六:特征列feature_column

特征列feature_column特征列 通常用于对结构化数据实施特征工程时候使用,图像或者文本数据一般不会用到特征列。一,特征列用法概述使用特征列可以将类别特征转换为one-hot编码特征,将连续特征构建分桶特征,以及对多个特征生成交叉特征等等。要创建特征列,请调用 tf.feature_column模块的函数。该模块中常用的九个函数如下图所示,所有九个函数都会返回一个 Cate...

2020-04-14 22:47:26 2523

原创 几篇关于目标检测的文章

Pytorch搭建SSD目标检测平台Keras搭建yolov3目标检测平台Keras搭建SSD目标检测平台关于YOLOv3的一些细节[原理详解,个人认为讲的很不错]PyTorch实现yolov3代码详细解密(分成了很多篇文章来讲解,链接都在文章里)...

2020-04-12 09:29:23 1321

原创 几篇关于人脸检测或识别的文章

睿智的目标检测13——Keras搭建mtcnn人脸检测平台睿智的目标检测15——Keras 利用mtcnn+facenet搭建人脸识别平台超详细的人脸检测:MTCNN代码分析,手把手带你从零开始码代码[tensorflow2.0]...

2020-04-10 12:23:50 1379

原创 pytorch学习笔记十一:查看模型参数信息的几种方式

首先,我们先创建一个只有两层的简单的模型,第一层是没有参数的FlattenLayer,第二层是有参数的Linear.import torchfrom torch import nnnum_inputs = 784num_outputs = 10class FlattenLayer(nn.Module): def __init__(self): super(Fl...

2020-04-09 22:29:00 3202

原创 pytorch学习笔记十:torch.optim下的优化算法的使用方法详解

这里,我们不对每一个具体的优化算法做解释,只是对torch.optim下的算法的使用方法以及有哪些属性做一下说明。一、torch.optimtorch.optim是一个实现了各种优化算法的库。大部分常用的方法得到支持,并且接口具备足够的通用性,使得未来能够集成更加复杂的方法。二、如何使用optimizer为了使用torch.optim,你需要构建一个optimizer对象。这个对象能够保持...

2020-04-09 18:46:32 3003

原创 pytorch学习笔记九:通过torch.utils.tensorboard在pytorch中使用tensorboard

一、环境准备:我的环境是最新的pytorch1.4,然后使用pip install tensorflow在pytorch中安装tensorflow,此时默认安装的是tf2.1,同时它还会默认安装我们需要的tensorboard注意,有朋友可能有疑问:既然我们是直接使用的torch.utils.tensorboard这个pytorch自己的API,那么我们为什么还要安装tensorflow呢?...

2020-04-09 14:58:21 9191 3

原创 pytorch学习笔记八:pytorch中模型保存和加载那些事

模型保存和加载那些事

2020-04-08 21:58:24 1386

原创 pytorch学习笔记七:torchvision.datasets.ImageFolder使用详解

一、数据集组织方式ImageFolder是一个通用的数据加载器,它要求我们以下面这种格式来组织数据集的训练、验证或者测试图片。root/dog/xxx.pngroot/dog/xxy.pngroot/dog/xxz.pngroot/cat/123.pngroot/cat/nsdf3.pngroot/cat/asd932_.png对于上面的root,假设data文件夹在.py文件...

2020-04-08 21:02:51 43843 11

原创 pytorch学习笔记六:torch.utils.data下的TensorDataset和DataLoader的使用

一、TensorDataset对给定的tensor数据(样本和标签),将它们包装成dataset'''data_tensor (Tensor) - 样本数据target_tensor (Tensor) - 样本目标(标签)''' dataset=torch.utils.data.TensorDataset(data_tensor, ...

2020-04-08 14:25:30 17641 6

原创 pytorch学习笔记五:pytorch中reshape、view以及resize_之间的区别

这里以torch.Tensor下的reshape,view,resize_来举例一、先来说一说reshape和view之间的区别相同点:都是可以改变tensor的形状不同点:.view()方法只能改变连续的(contiguous)张量,否则需要先调用.contiguous()方法,而.reshape()方法不受此限制;如果对 tensor 调用过 transpose, permute等...

2020-04-08 11:52:27 36078 2

原创 pytorch学习笔记四:torch.nn下常用网络层(layer)详解

一、卷积层卷积:Conv2d'''in_channels:输入通道数out_channels:输出通道数kernel_size:卷积核尺寸,整数或者元组stride:卷积操作的步幅,整数或者元组padding:数据hw方向上填充的层数,整数或者元组,默认填充的是0dilation:卷积核内部各点的间距,整数或者元组groups:控制输入和输出之间的连接;group...

2020-04-07 23:24:21 5511 1

原创 pytorch学习笔记三:torch.nn下常见的几个损失函数详解

在盘点常见损失函数之前,有必要先说一下在很多的损失函数中都出现的三个参数,也即size_average,reduce以及reduction,并且它们三个之间还存在一定的关系。size_average:bool类型;默认情况下,如果只有一个batch,每个batch有多个元素,那么误差计算结果是这个batch中多个元素的平均值;如果是有多个batch,然后每个batch有多个元素,那么误差计算...

2020-04-07 13:05:47 10090 6

转载 pytorch学习笔记二:pytorch构建模型的3种方式

pytorch搭建模型整体上看主要有两种方式,一种是继承torch.nn.Module类,另一种就是直接使用继承自该类的子类:Sequential ,ModuleList,ModuleDict。一、继承torch.nn.Module类Module类是nn模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型。这里定义的MLP类重载了Module类的__in...

2020-04-06 20:41:30 2305

原创 树莓派4b学习笔记三:三行命令极简安装vscode

       很多写代码的软件在树莓派上都不能用,或者安装比较麻烦。恰巧,vscode作为一款轻量级代码编辑器,可以在树莓上使用,而且它通过简单的安装插件就可以支持很多种编程语言。       我在网上搜了很多关于在树莓派上如何安装vscode的文章,但是奈...

2020-04-06 11:58:27 3840

原创 linux基础学习笔记一:简单记录一些常用的linux命令

       我这里不是命令大全,而且网上这种命令总结一大堆,大家可以去搜一下。这篇文章只是记录几个我自己会用到的命令,而且只是简单的告诉自己是哪一个命令,至于具体的用法用到时再去搜索。1. 基本操作功能命令目录切换cd;注意“/”表示的是根目录,“./”表示当前路径显示当前路径pwd;会把当前...

2020-04-05 22:05:59 1297 1

转载 tensorflow2.x学习笔记四:自动微分机制(tf.GradientTape)

参考链接:eat_tensorflow2_in_30_days       神经网络通常依赖反向传播求梯度来更新网络参数,求梯度过程通常是一件非常复杂而容易出错的事情。而深度学习框架可以帮助我们自动地完成这种求梯度运算。Tensorflow一般使用梯度磁带tf.GradientTape来记录正向运算过程,然后反播磁带自动得到梯...

2020-04-03 10:56:32 2159

原创 tensorflow2.x学习笔记二十四:tf.keras.metrics的使用

一、metrics的简单介绍       在tensorflow2.x中我们进行模型编译的时候,会看到其中有一个参数是metrics,它用来在训练过程中监测一些性能指标,而这个性能指标是什么可以由我们来指定。指定的方法有两种:直接使用字符串使用tf.keras.metrics下的类创建的实例化对象或者函数下面先举个例...

2020-04-02 14:30:48 14374 2

原创 tensorflow2.x学习笔记八:自定义网络层、模型以及损失函数

一、自定义网络层layer继承tf.keras.layers.Layer类使用tf.keras.layers.Lambda类下面这个例子就包含了以上两种形式:from tensorflow import kerasclass CustomizedDenseLayer(keras.layers.Layer): def __init__(self, units, activat...

2020-04-01 22:33:45 1828

原创 tensorflow2.x学习笔记十:使用tf.function(Autograph)提高代码性能(含函数签名的使用)

一、基本概念       AutoGraph是TF提供的一个非常具有前景的工具, 它能够将一部分python语法的代码转译成高效的图表示代码. 由于从TF 2.0开始, TF将会默认使用动态图(eager execution), 因此利用AutoGraph, 在理想情况下, 能让我们实现用动态图写(方便, 灵活), 用静态图跑...

2020-04-01 21:04:08 2189

空空如也

空空如也

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

TA关注的人

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