序言 工欲善其事必先利其器
Posted 神仙盼盼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序言 工欲善其事必先利其器相关的知识,希望对你有一定的参考价值。
序言 工欲善其事必先利其器
目录
系列介绍
目前的打算如下:
第一卷:图像分类网络介绍与实现。
第二卷:语义分割网络介绍与实现。
第三卷:目标检测网络介绍与实现。
第四卷:超分辨网络介绍与实现。
可能后续也会对其他算法也展开复现,不过目前就先从视觉相关的四个方向入手了。本人在深度学习方向也是刚起步不远,如有问题希望大家能及时纠正。同时也希望有更有的有志之士可以互相探讨。
前置知识
在这个系列中,将直接从网络开始复现,所以需要部分前置的知识需要大家自己学习,我在这边进行了一些整理。
-
高等数学 【尤其是其中求导与微分等相关知识】
-
线性代数
-
python3的编程相关知识
-
python3第三方库 numpy
-
python3 第三方库 opencv
-
python3 第三方库 paddle2.2以上
从我推荐的列表中大家可以看到,该系列是采用Paddle框架进行的复现,Paddle框架语法与pytorch相近,且在百度飞桨平台有免费的GPU资源可以使用【基本上用不完】。对于一穷二白的我来说再适合不过了。
开发平台
开发方式采用本地调试,服务器运行的方式,这里对双方都进行简单的介绍。
本地配置
CPU: Intel i7
GPU: 无
开发环境: Pycharm2021
深度学习框架: PaddlePaddle2.3.0 【CPU版】
服务器端
百度飞桨Aistudio服务器
显卡:Tesla V100 → TeslaA100
项目文件参考位置
后续参考文件将分别从代码、视频、博客三个方向做分享:
代码托管平台: GitHub、Gitee
视频分享平台: B站
博客分享平台: CSDN、知乎
预备知识介绍
在本节中,将对一些预备知识进行预热,方便后续代码实现时大家可以清晰代码设计思路。该部分代码将在在后续中简要介绍,并随时间推移后,仅作展示不再赘述。
网络结构
首先介绍网络结构的构建。在paddle中,构建网络类继承自nn.Layer
,其函数名与方法大致与Pytorch相近,故我在前期学习时,通常会将论文、Pytorch代码相互参考学习,最后通过Paddle构建出来。其中Paddle的网络类主要构成如下所示:
import paddle
import paddle.nn as nn
class Network(nn.Layer):
def __init__(self, in_channels, out_channels, ...):
super(BasicBlock, self).__init__()
"""
具体每层网络的声明,用作forword计算。
"""
def forward(self, x):
"""
按照参数传递顺序组合声明的网络类
"""
return x
数据集结构
该系列数据集将采用ImageNet1K其中的100类作为训练集,作为备用的数据集还有Caltech256。
数据集的构建方式如下:
import paddle
import paddle.io as io
class ClassData(io.Dataset):
def __init__(self, parameters, num_classes):
super(ClassData, self).__init__()
"""
初始化数据及参数,一般用作数据集列表的加载等
"""
def __getitem__(self, idx):
"""
idx为图片序号,其值不会大于__len()__的结果。通过__init__生成的列表获取图片
与标签并经过预处理后输出参与训练
"""
return image, label
def __len__(self):
"""
用作统计数据个数,防止__gititem__超限。
"""
return None
文章索引
暂无
以上是关于序言 工欲善其事必先利其器的主要内容,如果未能解决你的问题,请参考以下文章