python神经网络

吴裕雄 python 神经网络——TensorFlow训练神经网络:MNIST最佳实践

时间秒杀一切 提交于 2019-12-22 14:44:11
import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 OUTPUT_NODE = 10 LAYER1_NODE = 500 def get_weight_variable(shape, regularizer): weights = tf.get_variable("weights", shape, initializer=tf.truncated_normal_initializer(stddev=0.1)) if regularizer != None: tf.add_to_collection('losses', regularizer(weights)) return weights def inference(input_tensor, regularizer): with tf.variable_scope('layer1'): weights = get_weight_variable([INPUT_NODE, LAYER1_NODE], regularizer) biases = tf.get_variable("biases", [LAYER1_NODE], initializer=tf

吴裕雄 python神经网络(8)

女生的网名这么多〃 提交于 2019-12-20 01:37:08
# -*- coding=utf-8 -*- import numpy as np import keras from keras.models import Sequential from keras.layers import Dense,Flatten,Dropout from keras.optimizers import Adadelta from keras.datasets import cifar10 from keras import applications import matplotlib.pyplot as plt %matplotlib inline vgg_model=applications.VGG19(include_top=False,weights='imagenet') vgg_model.summary() (train_x,train_y),(test_x,test_y)=cifar10.load_data() print(train_x.shape,train_y.shape,test_x.shape,test_y.shape) n_classes=10 train_y=keras.utils.to_categorical(train_y,n_classes) test_y=keras.utils.to_categorical(test

吴裕雄 python神经网络(7)

谁说我不能喝 提交于 2019-12-20 01:36:51
import numpy as np np.random.randint(0,49,3) # -*- coding:utf-8 -*- import keras from keras.models import Sequential from keras.layers import Dense,Activation from keras.layers import Convolution2D,MaxPooling2D,Flatten from keras.optimizers import Adam,Adadelta from keras.utils import np_utils #utilities import matplotlib.pyplot as plt %matplotlib inline ####引用CIFAR10的数据集 from keras.datasets import cifar10 (train_x,train_y),(test_x,test_y)=cifar10.load_data() print(train_x.shape,train_y.shape,test_x.shape,test_y.shape) ##把训练的目标值转为one-hot编码 # 1->(0,1,0,0,0,0,0,0,0,0) n_classes=10 train_Y=keras

吴裕雄 python神经网络(6)

血红的双手。 提交于 2019-12-20 01:36:31
import random import numpy as np np.random.randint(0,49,3) ##required libararies import tensorflow as tf #import numpy as np import keras from keras.models import Sequential from keras.layers import Dense,Dropout,Convolution2D,MaxPooling2D ###MNIST dataset from tensorflow.examples.tutorials.mnist import input_data mnist=input_data.read_data_sets("./MNIST_data",one_hot=False) ## Establish train and test dataset train_X,train_Y,test_X,test_Y=mnist.train.images,\ mnist.train.labels,mnist.test.images,mnist.test.labels print(train_X.shape,train_Y.shape,test_X.shape,test_Y.shape) train_Y[80] 3

A3C

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-19 05:32:25
今天我们开始讲下A3C。 解决问题 收敛速度慢是之前Actor-Critic算法的问题。 对此提出三点改进: 1.还记得之前的参数更新公式: θ = θ + α ∇ θ l o g π θ ( S t , A ) δ \theta = \theta + \alpha \nabla_{\theta}log \pi_{\theta}(S_t,A)\delta θ = θ + α ∇ θ ​ l o g π θ ​ ( S t ​ , A ) δ A3C使用了另外的优势函数形式: A ( S , A , w , β ) = Q ( S , A , w , α , β ) − V ( S , w , α ) A(S,A,w,\beta) = Q(S,A, w, \alpha, \beta) - V(S,w,\alpha) A ( S , A , w , β ) = Q ( S , A , w , α , β ) − V ( S , w , α ) 参数更新形式: θ = θ + α ∇ θ l o g π θ ( s t , a t ) A ( S , A , w , β ) \theta = \theta + \alpha \nabla_{\theta}log \pi_{\theta}(s_t,a_t)A(S,A,w,\beta) θ = θ + α ∇ θ ​ l o g π θ ​

PyTorch学习笔记

孤者浪人 提交于 2019-12-17 12:29:37
【PyTorch深度学习60分钟快速入门 】Part1:PyTorch是什么?来源:https://www.cnblogs.com/leejack/p/8370634.html import torch import numpy as np #用于替代NumPy(torch对象叫张量,带前缀和括号,并用逗号分隔,numpy对象叫数组,用空格分隔),#torch可以使用GPU的计算力,一种深度学习研究平台,可以提供最大的灵活性和速度 x = torch.Tensor(5, 3) #创建一个5x3且未初始化的矩阵,如果将首字母大写的Tensor改成小写tensor,会报错 #print(x) x = torch.rand(5, 3)#创建一个随机初始化的矩阵rand表示0~1之间均匀分布的随机数 #print(x) #print(x.size()) y = torch.rand(5, 3) #print(x + y) #print(torch.add(x, y)) result = torch.Tensor(5, 3) #print(result) torch.add(x, y, out=result) #print(result) y.add_(x) #原地替换,任何原地改变张量值的操作后缀都是固定的_,例如:x.copy_(y)、x.t_(),都将原地改变x的值。 #print(y

随想录(第一个卷积神经网络)

折月煮酒 提交于 2019-12-17 09:27:45
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前学习了keras和mnist,知道了如何用keras编写简单的感知器。感知器的优点是比较简单,但是缺点也很明显。训练出来的识别正确率不是很高,所以自己就想试试卷积网络。网上的卷积网络算法和代码也比较多,正好可以学习一下。 1、keras支持多种卷积核 目前keras中支持多种卷积核,有Conv1D、Conv2D、Conv3D等等。 2、cnn是图像分类的标配 对于特征提取、图像分类的场景来说,cnn基本上是标配。 3、归一化 图像输入给卷积核之前一般先归一化一下,即x_train = x_train / 255 4、池化层 卷积层一般和池化层配合使用。一个卷积神经网络可能只有一组卷积层、池化层,也可能有很多组卷积层、池化层。 5、模型大小 一般而言,卷积神经网络比感知器的模型稍大一点。 6、示例代码 #!/usr/bin/python # -*- coding: utf-8 -*- # # 首次使用卷积神经网络来进行处理 20191215 # # 参考链接:https://blog.csdn.net/weixin_41055137/article/details/81071226 # 理论上卷积神经网络可以训练几千到上万次 # import numpy #from keras

ng-深度学习-课程笔记-0: 概述

回眸只為那壹抹淺笑 提交于 2019-12-16 17:15:47
课程概述 这是一个专项课程(Specialization),包含5个独立的课程,学习这门课程后做了相关的笔记记录。 (1) 神经网络和深度学习 (2) 改善深层神经网络:超参数调试,正则化,优化 (3) 结构化机器学习项目 (4) 卷积神经网络 (5) 自然语言处理:搭建序列模型 下面根据各部分的课程笔记列了个链接清单。 (1) 神经网络和深度学习 了解NN的基础,如何建立NN,如何训练它,课程的最后建立一个DNN识别猫。 第一周-介绍深度学习: http://www.cnblogs.com/liaohuiqiang/p/7639551.html 什么是神经网络,如何用神经网络做监督学习,为什么深度学习会兴起。 第二周-神经网络中的逻辑回归: http://www.cnblogs.com/liaohuiqiang/p/7659719.html 二分类,逻辑回归,代价函数,梯度下降,计算图的导数计算,逻辑回归中的梯度下降,logistic代价函数的解释。 第二周-Python和向量化: http://www.cnblogs.com/liaohuiqiang/p/7663616.html 向量化,向量化,向量化逻辑回归,python中的广播,python / numpy中的向量说明。 第三周-浅层神经网络: http://www.cnblogs.com/liaohuiqiang/p

深度学习笔记目录

不问归期 提交于 2019-12-16 15:53:10
第一周:深度学习引言(Introduction to Deep Learning) 1.1 欢迎(Welcome) 1 1.2 什么是神经网络?(What is a Neural Network) 1.3 神经网络的监督学习(Supervised Learning with Neural Networks) 1.4 为什么神经网络会流行?(Why is Deep Learning taking off?) 1.5 关于本课程(About this Course) 1.6 课程资源(Course Resources) 1.7 Geoffery Hinton 专访(Geoffery Hinton interview) 第二周:神经网络的编程基础(Basics of Neural Network programming) 2.1 二分类(Binary Classification) 2.2 逻辑回归(Logistic Regression) 2.3 逻辑回归的代价函数(Logistic Regression Cost Function) 2.4 梯度下降(Gradient Descent) 2.5 导数(Derivatives) 2.6 更多的导数例子(More Derivative Examples) 2.7 计算图(Computation Graph) 2.8 计算图导数

莫烦Python神经网络技巧

杀马特。学长 韩版系。学妹 提交于 2019-12-15 05:15:28
一、验证神经网络 训练集70%,验证集30% 误差曲线,虽然后面误差逐步降低,但是类似于考试一样,考到90分容易,95分就很难呀。 准确度曲线,在分类问题直接看准确度曲线,在回归问题中,可以引用R2分数测量回归问题的精度,F1分数用来测量不均衡数据的精度。 正规化:很多时候模型会过拟合,过拟合类似于自负,就是把老师教的全会,出新的就不会了,解决过拟合可以通过L1\L2正规化,dropout方法。 过拟合时候一般公式y = Wx中W的值往往特别大或者特别小,那么原始的误差函数为cost = (预测值-真实值)平方, 为了不让W的值变化太大 ,L1在误差函数后面加上了abs(W),L2中误差函数后面是W的平方,。(这样误差函数加上这个平方不是会误差值更大吗???不是很明白) 想象随机产生类似于y = a +bx的点,但类似于噪声一样,那么y = WX中,x的次数越多,整条曲线的拟合效果越好,但是这样就会过拟合了,所以,我们也要考虑w的值。 上图中蓝圈上的误差值是一样的,黄色的同理,蓝圈的最里面的圆心误差值最小,那么 蓝黄的角点就是误差值最小(啥??) 要提到另外一点是, 使用 L1 的方法, 我们很可能得到的结果是只有 theta1 的特征被保留, 所以很多人也用 l1 正规化来挑选对结果贡献最大的重要特征. 但是 l1 的结并不是稳定的. 比如用批数据训练,