神经网络

高驱动注意网络(HANET)

PAPER: Cars Can’t Fly up in the Sky: Improving Urban-Scene Segmentation via Height-driven Attention Networks CityScape数据集 介绍 ​Cityscapes是关于城市街道场景的语义理解图片数据集。它主要包含来自50个不同城市的街道场景,拥有5000张在城市环境中驾驶场景的高质量像素级注释图像(其中 2975 for train,500 for val,1525 for test, 共有19个类别);此外,它还有20000张粗糙标注的图像(gt coarse)。

TensorFlow2.1入门学习笔记(12)——卷积神经网络

每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。随着隐藏层增多,网络规模的增大,待优化参数过多容易导致模型过拟合 卷积计算过程: 全连接NN:每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。 实际项目中的图片多是高分辨率彩色图 随着隐藏层增多,网络规模的增大,待优化参数过多容易导致模型过拟合 实际应用时会先对原始图像进行特征提取再把提取到的特征送给全连接网络 卷积(Convolutional) 卷积计算可是一种有效提取图像特征的方法 一般会用一个正方形的卷积核,按指定步长,在输入特征图上滑动,遍历输入特征图中的每个像素点。每一个步长,卷积核会与输入特征图出现重合区域,重合区域对应元素相乘、求和再加上偏置项得到输出特征的一个像素点 输入特征图的深度(channel数),决定了当前层卷积核的深度;当前层卷积核的个数,决定了当前层输出特征图的深度。 卷积核 卷积核的计算过程 感受野(Receptive Field) 卷积神经网络各输出特征图中的每个像素点,在原始输入图片上映射区域的大小。 例如:5x5x1的输入特征,经过2次3x3x1的卷积过程感受野是5;经过1次5x5x1的卷积过程感受野也是5,感受野相同,则特征提取能力相同。 感受野的选择

TensorFlow2.1入门学习笔记(10)——使用keras搭建神经网络(Mnist,Fashion)

前面已经使用TensorFlow2的原生代码搭建神经网络,接下来将使用keras搭建神经网络,并改写鸢尾花分类问题的代码,将原本100多行的代码用不到20行代码实现。 用TensorFlow API:tf.keras搭建网络 使用Sequential 六步法: import,相关模块 train, test,指定训练集的输入特征,和训练集的标签 model = tf.keras.models.Sequential,搭建网络结构,(顺序神经网络) model.compile,配置训练方法 model.fit,执行训练 model.summary,打印出网络结构和参数统计 model = tf.keras.models.Sequential([网络结构]) 描述各层网络: 拉直层:tf.keras.layers.Flatten(),将输入特征拉直 全连接层:tf.keras.layers.Dense(神经元个数,activation=“激活函数”,kernel_regularizer=哪种正则化) activation(字符串给出)可选: relu、 softmax、 sigmoid 、 tanh

TensorFlow2.1入门学习笔记(5)——构建第一个神经网络,鸢尾花分类问题(附源码)

根据前面的基础知识,可以开始第一个神经网络的搭建,主要学习的资料西安科技大学:神经网络与深度学习——TensorFlow2.0实战,北京大学:人工智能实践Tensorflow笔记 1.问题背景 问题描述 人们通过经验总结出的规律:通过测量鸢尾花的花萼长、花萼宽、花瓣长、花瓣宽,可以得出鸢尾花的类别。(如:花萼长>花萼宽 且 花瓣长/花瓣宽>2 则为杂色鸢尾花)。大量依靠人工分类工作量巨大,不同的人员分类,标准,准确率都会有所差距。可以借助深度学习来学习其中的特征并对新数据进行预测。 流程设计 大量的[花萼长、花萼宽、花瓣长、花瓣宽(输入特征),对应的类别(标签)]数据对构成数据集 把数据集喂入搭建好的神经网络结构 网络优化参数得到模型 模型读入新输入特征,输出识别结果 模型设计 搭建网络模型 转换为数学模型 所有输入特征x与相应特征权重w相乘加上偏置项b输出结果y。 x:一行四列矩阵,对应四个特征 w:四行三列矩阵 b:3个偏置项 y:一行三列矩阵,对应三种类别的可信度 搭建网络 每个神经元$y_0,y_1,y_2与输入节点x_0,x_1,x_2,x_3$都有联系,称为全连接神经网络权重w与偏置项b会随机初始化一组参数 前向传播 神经网络执行y = x * w + b的过程称为前向传播

TensorFlow2.1入门学习笔记(4)——神经网络计算

前面已经学习了有关TensorFlow的一些常用库,以及相关数据的处理方式,下面就是有关神经网络计算的学习笔记。主要学习的资料西安科技大学:神经网络与深度学习——TensorFlow2.0实战,北京大学:人工智能实践Tensorflow笔记 1.张量(Tensor)的生成 张量可以表示0阶到n阶数组(列表) 张量:多维数组、多维列表 阶:张量的维数 维数 阶 名字 例子 0-D 0 标量 scalar s=1 2 3 1-D 0 向量 vector v=[1, 2, 3] 2-D 0 矩阵 matrix m=[[1, 2, 3],[4 ,5 ,6]] n-D 0 张量 tensor t=[[[(n个“[”) 数据类型

TensorFlow2.1入门学习笔记(3)——Pillow数字图像处理

在正式学习tensorflow2.0之前需要有一定的python基础,对numpy,matplotlib等库有基本的了解,笔者还是AI小白,通过写博客来记录自己的学习过程,同时对所学的东西进行总结。主要学习的资料西安科技大学:神经网络与深度学习——TensorFlow2.0实战,北京大学:人工智能实践Tensorflow笔记博客从tf常用的库开始,需要学习python基础的朋友推荐菜鸟教程

TensorFlow2.1入门学习笔记(2)——Matplotlib数据可视化

在正式学习tensorflow2.0之前需要有一定的python基础,对numpy,matplotlib等库有基本的了解,笔者还是AI小白,通过写博客来记录自己的学习过程,同时对所学的东西进行总结。主要学习的资料西安科技大学:神经网络与深度学习——TensorFlow2.0实战,北京大学:人工智能实践Tensorflow笔记博客从tf常用的库开始,需要学习python基础的朋友推荐菜鸟教程 数据可视化: 数据分析阶段:理解和洞察数据之间的关系 算法调试阶段:发现问题,优化算法 项目总结阶段:展示项目成果 Matplotlib:第三方库,可以快速生成高质量图表 安装Matplotlib库 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib 导入Matplotlib库 import matplotlib as plt #可用pyplot库绘制平面图,常用import matplotlib.pyplot as plt导入 1.常用函数 figure对象:创建画布 pit.figure(figsize=(3,2),facecolor="green") #创建画布 plt.plot() #绘制空白图形 plt.show() #显示绘图 subplot()函数——划分子图 subplot(行数,列数,子图序号) 例:将画布划分为2x2的子图区域,并绘制3个子图

TensorFlow2.1入门学习笔记(1)——Numpy科学计算库

在正式学习tensorflow2.0之前需要有一定的python基础,对numpy,matplotlib等库有基本的了解,笔者还是AI小白,通过写博客来记录自己的学习过程,同时对所学的东西进行总结。主要学习资料西安科技大学:神经网络与深度学习——TensorFlow2.0实战,北京大学:人工智能实践Tensorflow笔记。博客从tf常用的库开始,需要学习python基础的朋友推荐菜鸟教程 1.多为数组的形状(Shape) 描述数组的维度,以及各维度内部元素个数 一维数组 shape:(5,) 描述某位同学5门课程的成绩: 二维数组 shape:(30,5) 描述某个班30位同学5门课成绩: 三维数组 shape:(10,30,5) 描述某个学校10个班30位同学5门课成绩: 四维数组 shape:(5,10,30,5) 描述某个地区5所学校10个班30位同学5门课成绩: 五维数组 shape:(4,5,10,30,5) 描述某个某个国家4个地区5所学校10个班30位同学5门课成绩: 更高维以此类推 2.创建Nump 安装Numpy库 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy 导入Numpy库 import numpy as np import numpy import * #可直接调用库,但不推荐,容易和其他包冲突 创建数组 m = np.