AlexNet
AlexNET一、预备知识1.网络可视化1pip install torchsummary
输入:为模型、输入尺寸、批数量、设备
输出:模型的参数信息
123from torchsummary import summarydef summary(model, input_size, batch_size=-1, device="cuda") # 函数默认是cuda,若是在cpu下就需要修改
测试:
12345678910import torchfrom torchsummary import summaryfrom torchvision.models import vgg16 # 以 vgg16 为例device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')myNet = vgg16() # 实例化网络,可以换成自己的网络# 将模型移动到gpu上myNet = myNet.to(device)summary(myNet, (3, ...
UNIX环境编程-MAKEFILE(4)
MAKEFILE
在Linux中,有一个叫make的东西,就相当于C语言的集成开发环境,我们只需要在make里面创建文件,写代码,make会帮我们管理这些文件
我们创建的项目不叫project,而是称为Makefile,打开一个make源程序包,发现很多Makefile的文件,说明里面有很多的项目
源程序包里面,也有名为makefile的文件(m是小写),两个命名同时存在,这是合理的,在开发一个项目的时候,工程师一般都会命名为Makefile然后打包交给用户,用户觉得某个Makefile需要改动,用户改动后或者新建后的项目定义为makefile,并且在运行时候,先执行makefile,再执行Makefile文件。
快捷操作:
vim * -p :可以vim你所创建的文件
gcc *.c :编译该文件夹下的所有.c文件
在非插入的模式下:
x可以删除光标前的内容
u可以撤销前一个操作
ctrl+r 反撤销
yy 复制光标所在一行的内容
v 进入可视模式,直接移动光标选中内容,按y复制内容,然后按p/P粘贴内容。
dd 删除一整行 ...
UNIX环境编程-动态内存管理(3)
动态内存管理一、相关函数原型原则-谁申请谁释放
这类函数返回值都是 void * 可以与其他指针直接赋值
1234567891011121314151617181920SYNOPSIS #include <stdlib.h> // 此类函数的头文件 // 动态分配一个内存为 size 大小的空间---指针函数---返回一个地址(开辟的内存的地址) void *malloc(size_t size); // 释放 void free(void *ptr); // 动态分配 内存为 nmenb * sizeof(size) 大小的空间,可用于数组(连续的内存空间) void *calloc(size_t nmemb, size_t size); // 重新将指针ptr指向的地址 分配内存为 size 大小的空间 --- ptr必须是malloc或者calloc调用后返回的某一个指针 // 当原来使用malloc或者calloc开辟的内存空间不够时,若原来的地址后续内存足够,则在原来的地址的基础上进行扩充 // 若原来的 ...
UNIX环境编程-构造类型(2)
构造类型一、结构体将不同类型的数据存储在同一个内存空间
类型描述
123456789101112struct 结构体名字{ 数据类型 成员1; 数据类型 成员2;};// 结构体的类型描述(只是表明这种数据结构由哪些类型的数据组成)不占用存储空间,无法直接用等号初始化如;struct Student{ int id; char name[10];};
定义结构体
123struct 结构体名字 变量名如:struct Student zxz;
1.结构体的内存(地址对齐)对于内存中放置不同类型的数据的对齐信息都有考量—因为有了该对齐信息—可以让CPU很快的找到数据,地址对齐方便硬件取地址
代码1
1234567891011121314151617181920212223#include <stdio.h>#include <stdlib.h>int NAMESIZE = 8;struct student_st{ int i; char ch; ...
Tensorflow 入门教程(2)
Tensorflow教程(2)通过Tensorflow实现经典的卷积神经网络
一、LeNet卷积神经网络的开山之作(1998)
文章链接:Gradient-Based Learning Applied to Document Recognition
论文解读:Lenet5经典论文解读
1.代码实现:(1)网络架构LeNet时代没有BN以及Dropout
(2)代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495""" Tensorflow实现LeNet"""import tensorflow as tfimport osimport numpy as npfrom matplotlib import p ...