自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 卷积输出特征图大小计算公式

如果添加了步幅 stride的话,那么公式为(n+2p-f)/stride+1 ,如果商不是整数,那么向下取整。如果想要输出大小和输入大小尺寸一样,那么就让padding=(f-1)/2。如果是没有padding填充,那么公式为n-f(滤波器大小)+1。如果有padding填充,那么公式为 n+2p-f+1。

2023-06-06 21:25:46 128

原创 总结超参数最优化

超参数最优化

2022-10-20 21:28:21 1084

原创 神经网络学习权重初始重要性与设定

神经网络学习如何高效的设定权重初始值

2022-10-12 20:28:23 504

原创 深度学习梯度法实现与原理

深度学习梯度法实现和原理

2022-09-27 15:25:05 505

原创 菜鸟学习第一天

菜鸟学计算机视觉第一天

2022-09-07 15:52:03 258

原创 驻点和极值点的关系

驻点和极值点的关系怎么说呢:互相并不完全是充分必要条件驻点:可导极值点叫驻点极值点:存在驻点时并不一定是极值点 而且也有可能是一阶不可导点驻点和极值点互相推导本身存在着一种看似紧密但是并不紧密的关系比如|x| 当x=0时候 他是驻点么 并不是因为他虽然是极小值点 但是他并不可导 所以并不是驻点x^3当x=0的时候 他存在极值么 他是驻点没错 但是他并不是极值点...

2020-03-31 16:36:16 21419

原创 shell case和select

1 #!/bin/bash23 function apache()45 {6 echo “$1”78 }910 function php()1112 {1314 echo “$1”15 }1617 select i in “apache” “php”18 do1920 case $i in21 php)22 ...

2020-03-16 16:29:12 137

原创 shell运维之while与案例

1 #!/bin/bash23 while read line #读取到文件内容到变量4 do5 IP=echo $line |awk '{print $2}' ###过滤条件67 echo -e “\033[32mscp -r ./test.txt root@$IP:./ \033[0m”8910 done <test.txt1 #!/bin/bash2 i=03...

2020-03-07 21:43:29 112

原创 shell运维之for

#!/bin/bashj=0for ((i=0;i<=100;++i))doj=exprt $i + $j ###exprt 是用来做运算符操作的doneecho $jseq 1 15 就是列举1到15的数字可以这样玩for i in seq 1 15doecho “\033[32mthis is $i\033[1m”done...

2020-03-06 15:01:59 91

原创 crontab的使用

使用这个时候会出现一个选择编辑器 你可以选择3 或者用select-editor 这个进行选择然后把事先写好的脚本 用crontab -e 进行写入 定时启动 但是要记得末尾加个>/dev/null 2>&1因为每次定时任务都会产生一个邮件 如果你有sendmain服务器的话 并且没开启 在/var/spool/mosquence的目录里面会产生冗余文件 所以末尾加&gt...

2020-03-02 13:51:01 98

原创 shell 运维if else

INT1 -eq INT2 INT1和INT2两数相等为真 ,=INT1 -ne INT2 INT1和INT2两数不等为真 ,<>INT1 -gt INT2 INT1大于INT1为真 ,>INT1 -ge INT2 INT1大于等于INT2为真,>=INT1 -lt INT2 ...

2020-03-01 20:10:14 174

原创 shell运维之系统环境变量

shell运维常用的系统变量注意一点:echo $?这个是相对于上一条命令的执行状态 如果是0 那么就是指令执行成功 否则非0 错误其他变量可以自己定义:name=皇甫懿echo “my name is $name”...

2020-03-01 19:03:13 124

原创 用代码进行linux的重定向

#include<stdio.h>#include<signal.h>#include<unistd.h>#include<stdlib.h>#include<fcntl.h>int main(){//这个地方也可以用dup2(1,out) 这样更简便一点int out=open("/dev/fd/1",O_RDWR|O_...

2020-02-14 15:26:07 115

原创 操作系统的启动

操作系统的启动 是通过boot/bootsect.s 先进行bios中断的初始化和检测硬盘 然后进入引导程序进行引导 然后接着载入启动程序进行建立一个数据结构 并且把对应系统的代码载入到0x0000的位置 并且转换到保护模式 (通过gdt 全局描述符进行跳转) 进入系统代码的main函数进行初始化各种数据结构 在进入main函数之前会进行压栈处理 方便main函数运行完毕之后 跳转回setup....

2020-02-04 13:23:41 97

原创 汇编查看返回值方式

在程序运行完毕之后输入echo $?

2020-01-29 15:33:09 922

原创 程序的bss段和data段对比

bss段是指的是用来存放未初始化的内存空间.lcomm 相当于局部的static 未初始化局部变量.comm 相当于全局的未初始化变量 或者static 全局未初始化变量用来申请对应的运行时内存 它是通过操作系统进行初始化 而且bss段申请的空间 并不会占用elf文件的空间只是在程序运行成为进程的时候 才会占用响应的内存空间 否则在硬盘的程序中 只是一个标识 用来标记 这一块要有多大...

2020-01-19 15:48:24 386

原创 高数的无穷小比较

关键抓住几个点

2020-01-15 18:33:15 257

原创 32位的80386如何编译

gcc -g -Wall -m32 -o 32_bit 32_bit.s记得要把32位的库安装好sudo apt install gcc-multilib

2020-01-14 09:55:13 160

原创 补码和反码

-13求补码 的结果就是13-13求反码的结果是 -(-13+1)正数的补码和原来一样

2020-01-11 23:04:15 105

原创 80386的规律

mul source乘法列表add 指令在计算机看来啊 内部计算全部为补码运算 只有0和1 所以当你的位数不够的时候 cf=1 当两个相同符号位的操作数进行运算的时候 结果相反 那么就是of=1sub source,destination 当目的操作数=100 source=200 100-200=-100 这个时候 destination会向cf借1位 cf=1...

2020-01-11 11:14:24 127

原创 char类型的范围产生的特殊之处

char的有符号表示范围 -128~127但是有个特殊的地方 -128如何产生的呢无符号的128对应的有符号 1000 0000 是-128 是不是感觉很神奇其实这个-128是个特殊的值+0 0000 0000 -0 1000 0000那么这种情况求补码+0 0000 0000 -0 0000 0000最终+0 和-0 的源码形式并没区别了所以导致了腾出了一个 数值 ...

2020-01-09 15:42:11 120

原创 汇编80386寻址

寻址方式可以采用indirect addressing比如 movl $1,%edi 把1赋值给%edi寄存器(edi寄存器就是c语言里面的指针寄存器)movl $100,(%edi)这种方式采用的是一种间接寻址(indirect addressing )主要是套用公式base_address(offset_address,index,size)base_address:是基址 ...

2020-01-08 15:06:46 261

原创 att汇编如何编译

1.gcc test1.s -o test1./test12 . as -o test1.o test1.asmld -o test1.bin test1.o…section .bss .lcomm buffer,1000 #分配1000个字节大小的空间,默认为0 .section .datahello:.string "asdasdasdasdasdasdasd".s...

2019-12-30 15:48:29 223

原创 8086汇编的宏

宏名 MACRO 参数(哑元)j&参数ENDM这个东西类似内联函数一样 他的灵活性强 但是浪费内存空间 代码量大的时候用子程序 代码量小的时候用这个宏定义注意必须写在宏调用的前面而且不占内存 只有我们程序运行时候进行宏展开的时候才会占用内存&是用来分隔用的 比如J&PARAMENT 我调用时候 PRINT Z 这种情况 在宏展开中就会自动变成JZ...

2019-12-29 21:43:46 688 1

原创 逻辑移位和算数移位

逻辑移位不看符号算数移位看符号

2019-12-29 20:01:48 110

原创 att汇编小知识

gcc 指令和binuntils(as ld objdump)都可以进行编译汇编程序gcc -S 指令汇编程序时候 会把程序编译成一个 main为入口地址的程序但是as ld 会把汇编程序编译链接成_start入口的地址 其实并没有什么太大区别汇编程序中以.开头的名称并不是指令的助记符,不会被翻译成机器指令,而是给汇编器一些特殊指示,称为汇编指示(Assembler Directive)或伪...

2019-12-29 19:45:42 161

原创 网络路由配置笔记

ip:192.168.1.1一 表示方式点分十进制 1十进制=8个二进制数=1Byte二 所占长度32bit/位(2进制数) 4Byte字节三 ip地址分类0.0.0.0 255.255.255.255 2^32约等于42亿A类:32bite当中 首位固定为0---------80.0.0.0—127.255.255.255B类: 32bite当中前两位固定为10----...

2019-12-28 14:19:35 1689 2

原创 操作系统内核如何实现编写和内核还有引导程序的关系

题目是起的简陋一点 但是不影响我们的操作 长话短说 自己看代码 加了注释了今天我们讲讲如何实现内核 还有内核的意义 我们的扇区0的引导扇区的程序又是干嘛的这里几个例子1.引导程序.code16BOOTSEG = 0x7c0#在实模式下给cs段进行赋值16位的逻辑段KERNELLEN = 1#加载一个扇区521Bljmp $BOOTSEG, $go#自动跳转到执行引导程序的起始地...

2019-12-19 19:31:27 557

原创 如何写出一个操作系统

想要学习做操作系统其实并不难 也不是那么简单 所以我这里简述 因为需要之前的庞大知识体系首先准备linux系统 下载bochs这个是用来调试系统并且运行系统 再准备一个80386代码1.原理因为系统是通过bios芯片进行检测 初始化各种硬件 比如显示器 硬盘 而且bios不只是一个芯片 显示器对应有他的bios 硬盘也有他的bios 所以不仅仅是一个 然后我们把准备好的代码 5...

2019-12-14 15:57:01 1308

原创 什么是保护模式和实模式区别

保护模式是指cpu在非裸机情况下 通过操作系统接管过去之后就会具备80x86的威力了实模式指的是相当于cpu在裸机情况下的一种快速8086 不能发挥80x86的功能就这么简单 记住就好了...

2019-12-12 21:11:17 538

原创 linux内核体系结构

讲述一下本人对linux内核体系的理解1.内核的层次分层从上到下1.1 sdk和库(用户态)我们的高级语言调用库是通过用户态的一个api进行调用 所以可以俗称为用户态的api层在我们调用库函数的时候 主要是从用户态切换到内核态 也就是cpu的切换2.系统服务接口层比如我们的vfs 文件系统 我们用户态调用一个write函数 那么就会到 系统服务接口层进行调用sys_write 进行传...

2019-12-12 16:09:19 152

原创 html的get 和post 方法区别

get 方法代表的是提交标签 时候形成一个明文的url(统一资源定位)post方法代表的是提交网页信息时候 采用暗文方式提交 具有安全性 形成的url 不会改变 不会把网页的元素信息暴露到url 上面用户名: 密码 : 性别: 男 女 其他</form> <form action="#" method="get">用户名: <input ...

2019-12-05 23:17:25 129

原创 汇编磁道读写

磁道读取 调用的是int 13h的功能号 2(表示读扇区) 3(写入扇区)ah=功能号al 读取的扇区数目ch 磁道号cl 扇区号dh 磁头号(对于软驱的话是面号)dl 驱动器号软驱从0 开始 0:软驱 A 1:软驱B硬盘从80H 开始 80h:硬盘C 81h硬盘Des:bx 指向接收扇区读入的数据的内存区返回参数 成功 ah=0 al等于读入的扇区数错误的话 ah...

2019-12-01 18:02:00 157

原创 汇编BIOS读取和写入

汇编读取的话是通过INT 9号中断例程 进行读取键盘输入的扫描码 然后转换虚拟键 也就是ascii码 然后转换成状态码 或者是ascii码 写入到键盘缓冲区 如果是读取到shift 键 那么就会把对应的shift的扫描码 然后转换成键盘缓冲区的最上方的1个字节单元的 最低位的1 代表着shift键开启了 接着写入的字母 字符就会自动变成大写 ascii键盘缓冲区有16个字单元 可以存储15个...

2019-12-01 12:33:03 1087

原创 汇编的60H端口

在汇编中 键盘的bios系统 比如键盘的输入和输出 是一种可屏蔽中断 它主要是考IF 位 进行标志是否可进行中断操作 也是为了防止 一个中断例行子程序运行的时候 其他的中断例行子程序也进行执行 导致冲突 所以我们的中断例行子程序在执行的时候 TF 和IF 位会进行置0现在我们来详细讲解一下键盘的输入和输出过程我们的外部设备是如何进行工作的呢 是通过芯片进行工作的 比如我输入一个字符 那...

2019-11-26 20:08:33 1662

原创 汇编8086 端口

汇编读取CMOS RAM 芯片 从71H 70h 分别为数据端口和地址端口 进行写入和读取CMOS RAM 有128个存储单元 0到0d 存储时间信息 只要有电 那么就会一直的进行记录内部时间更新 剩下的单元一直存储电脑配置信息 而且我们可以通过 71和70端口 让BIOS进行更改配置信息这里的端口和网络端口并不一致 网络端口指的是 通过操作系统分配的识别符 这里的端口指的是 主...

2019-11-25 12:56:30 885

原创 汇编语言的局部变量和指针如何运行

本质我们的高级语言的函数模块 运行原理是改变ip和cs地址 把之前的内容都保存到栈 然后把需要的参数传入子程序 举例子来说 我们指针 int * p=&a; 这个变量的值在函数里面改变的时候是这样的push spmov bp,spmov ds:[bp+2],bxpop bpiret 等价于 pop cs pop ip popf其实我们的变量 在汇编可以 是这样表示 ...

2019-11-16 19:31:48 446

原创 汇编内部中断和外部中断

内部中断是不可屏蔽的中断 软中断优先级最高 外部中断是可屏蔽中断 比如软中断 就可以屏蔽 不响应还有响应中断的话 是必须联和设置才可以响应 否则不会响应 比如ss:sp 这个联合设置 代码举例mov ax,1000Hmov ss,axmov sp,0这种是可行的 因为ss和sp是联合起来设置 如果ss 和sp 设置中间有额外的指令插入 那么就会无响应中断的过程:1.cpu...

2019-11-16 15:08:06 1101

原创 汇编call指令原理

汇编call指令原理是 比如call 标签call s那么这个指令首先会把代码段这个内容 e80500 送入指令缓冲器 0005是偏移地址 会通过下一个指令首地址ip 进行+0500 然后改变ip的值 下一次执行就会执行到 s标签处 别忘记中间的 偏移地址 会存入栈区...

2019-11-04 15:24:24 1556

原创 汇编的跳转原理

在汇编内 跳转指令无条件 jmp 的原理是一种计算方式跳转 不是直接进行跳转 下面举例start :mov ax,13Hjmp short ss: add ax,2loop start例如这个代码来讲 在cpu读取到jmp指令的机器码 通过数据总线放到指令缓冲器 进行执行之前 cpu的ip寄存器 会自动读取到下一条指令的地址 然后通过jmp 的机器码 比如 EBF6 那...

2019-11-03 11:50:35 541

空空如也

空空如也

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

TA关注的人

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