吴裕雄--天生自然 神经网络人工智能项目:基于深度学习TENSORFLOW框架的图像分类与目标跟踪报告(续四)
2、 神经网络的搭建以及迁移学习的测试
7.项目总结
通过本次水果图片卷积池化全连接试验分类项目的实践,我对卷积、池化、全连接等相关的理论的理解更加全面和清晰了。试验主要采用python高级编程语言的TensorFlow和Keras这两个库。在实验学习的过程中,开始时,对于TensorFlow和Keras并不是很了解,里面提供的许多方法也不熟悉,但经过老师课堂的讲解和演示一些关键的、和常用的方法或函数,以及对相关参数的传递、变化,如:权值的变化、图片尺寸的变化、图片通道的变化、偏置的设置、优化函数的选取及学习率的选择等等,这些原本不是很了解很熟悉的知识,通过本项目实践和老师的指导以及通过互联网学习平台和课本......我现在已经对这方面的知识已经了解得很是深入了,对TensorFlow这个python库相关变量、常量、方法函数等定义和使用,也十分的熟悉了,并且现在我能够做到使用TensorFlow搭建任意层次的神经网络卷积层、池化层、全连接层,对于一些常量和变量的设定以及它们之间的传递关系也了然于心了,对于基于Keras的VGG19的迁移学习以及使用呢TensorBoard对神经网络层各种参数的可视化等技术和理论知识,也有了很大的进步和了解。
但在实验过程中,我遇到了许多的问题,比如一个最大的问题就是:我搭建的神经网络层的准确率特别的低,由于这个问题,还牵涉到了其它的许多小问题,但我都通过自己的努力解决了。准确率低的原因有很多,以下是我对实验准确率低的一个总结,也是我整个小学期期间尝试最"苦"的地方:
1、神经网络的学习率太大,导致欠拟合
2、搭建的神经网络的层次太多,导致过拟合
3、图片的深度设置太小,导致欠拟合
4、图片的深度设置太大,导致过拟合
5、图片预处理时,裁剪得太多,导致图片许多关键的特征丢失
6、神经网络学习循环的次数太少,也会导致准确率低
7、神经网络优化器选定不当,导致准确率低
8、图片的标签与图片没有对应上
9、加载训练数据时,没有事先乱序处理
10、乱序时,图片数据与标签没有做相对应的变化
11、降低图片的通道数也会导致准确率低
就是这样通过实验的摸索和验证,我对整一个项目的所有知识点慢慢地理解得更加通透、这方面的代码编写能力也有了很大的提高。
8.收获与体会
总的来说,这整一个小学期我的收获有很多,比如深度学习的许多理论知识:卷积、池化、全连接、激活函数、权值、偏置以及如何设定它们来搭建一个或多个深度学习的神经网络层、迁移学习、TensorBoard可视化参数等理论和知识,并且能够独自使用Keras和TensorFlow这两个python库搭建起任意复杂度的卷积神经网络层来进行分析和处理相关的数据了。
通过互联网和各种深度学习资料书,也对TensorFlow的编程框架有了更加清晰、深入的理解,相关的案例都已经了然于胸,也一一动手把案例通过编程实现了出来。对于优化函数部分,也有了更加深入的理解,这部分知识写在了报告的前一部分,作为TensorFlow框架的一部分。正是因为对优化函数的理解,使得我能够对不同的数据处理状况和正确设置相关学习率有了更大的自信。
在此,我要特别地感谢这小学期期间教导我的苏老师,以及给予我帮助和我一起学习、讨论问题的同学,他们都在我学习的过程中给予了很大的帮助,没有他们的指导、讨论,我也不可能短时间内,对深度学习卷积神经网络这一块的知识理解和掌握得那么快,我也会好好努力,以便自己更好地帮助他人解疑答惑,对老师、同学们给予的帮助,再次表示衷心的感谢......
吴裕雄--天生自然 神经网络人工智能项目:基于深度学习TENSORFLOW框架的图像分类与目标跟踪报告(续四)的更多相关文章
- 吴裕雄--天生自然 python数据分析:基于Keras使用CNN神经网络处理手写数据集
import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.image as mp ...
- 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:使用TensorFlow和Keras开发高级自然语言处理系统——LSTM网络原理以及使用LSTM实现人机问答系统
!mkdir '/content/gdrive/My Drive/conversation' ''' 将文本句子分解成单词,并构建词库 ''' path = '/content/gdrive/My D ...
- 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:TensorFlow与神经网络的实现
import tensorflow as tf import numpy as np ''' 初始化运算图,它包含了上节提到的各个运算单元,它将为W,x,b,h构造运算部件,并将它们连接 起来 ''' ...
- 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:Bellman函数、贪心算法与增强性学习网络开发实践
!pip install gym import random import numpy as np import matplotlib.pyplot as plt from keras.layers ...
- 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:RNN和CNN混合的鸡尾酒疗法提升网络运行效率
from keras.layers import model = Sequential() model.add(embedding_layer) #使用一维卷积网络切割输入数据,参数5表示每各个单词作 ...
- 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:LSTM网络层详解及其应用
from keras.layers import LSTM model = Sequential() model.add(embedding_layer) model.add(LSTM(32)) #当 ...
- 吴裕雄--天生自然python机器学习:基于支持向量机SVM的手写数字识别
from numpy import * def img2vector(filename): returnVect = zeros((1,1024)) fr = open(filename) for i ...
- 吴裕雄--天生自然 PYTHON数据分析:基于Keras的CNN分析太空深处寻找系外行星数据
#We import libraries for linear algebra, graphs, and evaluation of results import numpy as np import ...
- 吴裕雄--天生自然 pythonTensorFlow图形数据处理:解决module 'tensorflow' has no attribute 'Session'
原因:因为是tensorflow 2.0版本
随机推荐
- [Algo] 117. Array Deduplication III
Given a sorted integer array, remove duplicate elements. For each group of elements with the same va ...
- 如何在 main() 执行之前先运行其它函数
摘要:我们知道 C++ 的全局对象的构造函数会在 main 函数之前先运行,其实在 c 语言里面很早就有啦,在 gcc 中可以使用 __attribute__ 关键字指定如下(在编译器编译的时候就绝决 ...
- layui select恢复默认值
- oracle sql语句学习(一)
oraclexe 11.0.2.0 输出到文件 SQL>spool /*完整路径*/; SQL>spool off; 多表自然链接 select spj.sno from spj join ...
- JavaSE--枚举类
参考:http://www.cnblogs.com/hyl8218/p/5088287.html 枚举类声明定义的类型是一个类,因此尽量不要构造新对象. 所有枚举类型都是 java.lang.Enum ...
- ios uiimagepickercontroller 选择相册或者拍照上传
首先需要实现UIImagePickerControllerDelegate 代理 实现其imagePickerController 方法 这里用于选择图片或的拍照回调 //调用相机拍照 或者 图库选 ...
- 第1章 MYSQL 体系结构和存储引擎
一.定义数据库和实例 在集群的条件下,存在单个数据库对应多个实例 二.Mysql 体系结构 三.Mysql 存储引擎及各存储引擎之间的比较 命令:show engines; 四.连接 MySQL 4. ...
- opencv+tkinter制作HsvMaster(一)
这两天看opencv-python的HSV色彩空间,在写程序时发现用HSV来提取图像区域是件令人恶心的麻烦事.拿阈值分割做个对比,阈值最多也就一两个参数需要调整:但是HSV需要对三个通道调整上下限,也 ...
- Linux inode 理解
inode 硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB).操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性读取一 ...
- JavaScript 的 URL 对象是什么?
如果我们自己编写从URL中分析和提取元素的代码,那么有可能会比较痛苦和麻烦.程序员作为这个社会中最“懒”的群体之一,无休止的重复造轮子必然是令人难以容忍的,所以大多数浏览器的标准库中都已经内置了URL ...