Python 实现深度学习
前言
最近由于疫情被困在家,于是准备每天看点专业知识,准备写成博客,不定期发布。
博客大概会写5~7篇,主要是“解剖”一些深度学习的底层技术。关于深度学习,计算机专业的人多少都会了解,知道Conv\Pool的过程,也看过论文,做过实验或是解决方案。在写的各种卷积网路 时候,有没有问问自己:这些网络到底是怎么“运作”起来的?如果自己要实现一个具备基本功能的神经网络应该怎么去实现?
知道事物的表面现象,不知事物的本质及其产生的原因是一件很可悲的事情,正如鲁迅所说:What I cannot create, I do not understand. 只有亲自实践去创造一个东西,才算真正弄懂一个问题。
本着“知其然,知其所以然”的目的,会尽可能的用Python库和基本的数学知识,创建经典的深度学习网络。
每篇的计划如下:
第一篇介绍numpy库和matplotlib库、读写二进制的方法、pkl等。这些知识会在后面用到,在本篇的最后会以mnist数据集为例,创建处理手写体图片的函数,供后使用。
第二篇介绍感知机。用感知机实现逻辑门、用多层感知机实现复杂逻辑门。
第三篇神经网络的设计与实现。分为上下两部分:
3.1篇增加神经网络的forward。实现激活函数、全连接层的计算、输出层。最后用mnist数据集测试forwarld是否正确;
3.2篇增加神经网络的backward。实现损失函数、梯度、学习算法。最后用mnist数据集测试神经网络的训练。
第四篇引入计算图的思想,用计算图的方式实现乘法层、加法层和激活层。最后用mnist数据集测试这些简单层。
第四篇添加optimization模块。设计实现SGD,momentum,学习率的衰减,adam。 最后用mnist数据集作对比。
第五篇增加一些处理过拟合的方法。实现droupout,权值衰减,。用mnist数据集测试效果
第六篇增加batch-normalization功能。用mnist数据集做测试效果;
第七篇增加conv和pool功能。实现一个lenet-5
前面七篇的代码和博客已经写完了,经过整理以后会陆续发布。就这样吧,加油!
Python 实现深度学习的更多相关文章
- 从Theano到Lasagne:基于Python的深度学习的框架和库
从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...
- 学习Keras:《Keras快速上手基于Python的深度学习实战》PDF代码+mobi
有一定Python和TensorFlow基础的人看应该很容易,各领域的应用,但比较广泛,不深刻,讲硬件的部分可以作为入门人的参考. <Keras快速上手基于Python的深度学习实战>系统 ...
- Matlab和Python用于深度学习应用研究哪个好?
Matlab和Python都有一些关于深度学习的开源的解决方案(caffe\DeepMind\TensorFlow),基于哪个开展应用研究好?
- 机器学习python*(深度学习)核心技术实战
Python实战及机器学习(深度学习)技术 一,时间地点:2020年01月08日-11日 北京(机房上课,每人一台电脑进行实际案例操作,赠送 U盘拷贝资料及课件和软件)二.课程目标:1.python基 ...
- 人工智能新手入门学习路线和学习资源合集(含AI综述/python/机器学习/深度学习/tensorflow)
[说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] 1. 分享个人对于人工智能领域的算法综述:如果你想开始学习算法,不妨先了解人工 ...
- 吴裕雄--天生自然python Google深度学习框架:Tensorflow实现迁移学习
import glob import os.path import numpy as np import tensorflow as tf from tensorflow.python.platfor ...
- 吴裕雄--天生自然python Google深度学习框架:经典卷积神经网络模型
import tensorflow as tf INPUT_NODE = 784 OUTPUT_NODE = 10 IMAGE_SIZE = 28 NUM_CHANNELS = 1 NUM_LABEL ...
- 吴裕雄--天生自然python Google深度学习框架:图像识别与卷积神经网络
- 吴裕雄--天生自然python Google深度学习框架:MNIST数字识别问题
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ...
随机推荐
- memcached的安装、常用命令以及在实际开发中的案例
Memcached注意缺乏安全认证以及安全管制需要将Memcached服务器放置在防火墙(iptables)之后 Linux平台 (CentOS)安装Memcached 安装依赖yum -y inst ...
- JavaScirpt 一些基本知识
var name = prompt('请输入你的姓名:'); //弹出输入框 var age = prompt('请输入你的年龄'); var sex = prompt('请输入你的性别'); 检测字 ...
- Jekyll 摘要
在 Windows 上安装 Requirements Permalink Ruby version 2.4.0 or above, including all development headers ...
- 手写MyBatis流程
MyBatis 手写MyBatis流程 架构流程图 封装数据 封装到Configuration中 1.封装全局配置文件,包含数据库连接信息和mappers信息 2.封装*mapper.xml映射文件 ...
- JavaScript 自适应轮播图
代码 话不多说,先上代码,方便复制粘贴.演示 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- install multiple versions of CUDA
https://www.pugetsystems.com/labs/hpc/How-To-Install-CUDA-10-together-with-9-2-on-Ubuntu-18-04-with- ...
- LeetCode 160. 相交链表 (找出两个链表的公共结点)
题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 编写一个程序,找到两个单链表相交的起始节点. 如下面的两 ...
- Docker造化钟神秀
之前闲暇之余有玩过一哈Dokcer容器,但是日子挺久了,然后挺多东西就忘记了,趁着今天有时间重拾一下docker的相关知识. 搜索下载镜像 docker search ubuntu docker pu ...
- jQuery---基本的选择器
基本选择器 名称 用法 描述 ID选择器 $(“#id”); 获取指定ID的元素 类选择器 $(“.class”); 获取同一类class的元素 标签选择器 $(“div”); 获取同一类标签的所有元 ...
- 原生JS数组操作的6个函数 arr.forEach arr.map arr.filter arr.some arr.every arr.findIndex
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...