维基百科对深度学习的精确定义为“一类通过多层非线性变换对高复杂性数据建模算法的合集”.因为深层神经网络是实现“多层非线性变换”最常用的一种方法,所以在实际中可以认为深度学习就是深度神经网络的代名词.从维基百科给出的定义可以看出,深度学习有两个非常重要的特性——多层和非线性.那么为什么要强调这两个性质呢?下面我们开始学习. 1,线性模型的局限性 在线性模型中,模型的输出为输入的加权和.假设一个模型的输出 y  和输入 xi 满足以下关系,那么这个模型就是一个线性模型: 其中,wi , b € R…
这几天在B站看莫烦的视频,学习一波,给出视频地址:https://www.bilibili.com/video/av16001891/?p=22 先放出代码 #####搭建神经网络测试 def add_layer(inputs,in_size,out_size,activation_function=None): Weights = tf.Variable(tf.random_normal([in_size, out_size],dtype=np.float32)) biases = tf.Va…
首先是不含隐层的神经网络, 输入层是784个神经元 输出层是10个神经元 代码如下 #coding:utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #载入数据集 mnist = input_data.read_data_sets("MNIST_data", one_hot=True) #每个批次的大小 batch_size = 100 #计算一共有多少个批次…
1.搭建server 1.1搭建server.php 1.搭建websocket服务器,首先建立 server.php 文件, <?php $server = new swoole_websocket_server('0.0.0.0', 9502);// 创建swoole的websocket实例 其中 0.0.0.0 代表监听所有回路 包括127.0.0.1 和 192.168.*.* 和 外部IP, 端口是9502 //监听打开事件 $server->on('open', function…
使用mnist数据集进行神经网络的构建 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('data/', one_hot=True) 这个神经网络共有三层.输入层有n个1*784的矩阵,第一层有256个神经元,第…
前向传播 tensorflow.keras 搭建网络时,内部的网络可以直接完成所有层的前向计算.全连接Dense() 层,最后一层的神经元的个数需要和最后一层线性函数 w x + b 的维度对应上,中间的其他层的神经元的个数可以任意指定,只要损失函数能达到较优. # 导入常用网络层 layers from tensorflow.keras import layers,Sequential # 隐藏层 1 fc1 = layers.Dense(256, activation=tf.nn.relu)…
一.神经网络的实现过程 1.准备数据集,提取特征,作为输入喂给神经网络       2.搭建神经网络结构,从输入到输出       3.大量特征数据喂给 NN,迭代优化 NN 参数       4.使用训练好的模型预测和分类 二.前向传播   前向传播就是搭建模型的计算过程,可以针对一组输入给出相应的输出. 举例:假如生产一批零件, 体积为 x1, 重量为 x2, 体积和重量就是我们选择的特征,把它们喂入神经网络, 当体积和重量这组数据走过神经网络后会得到一个输出. 假如输入的特征值是:体积 0…
前几天把刚拿到了2台GPU机器组装好了,也写了篇硬件配置清单的文章——<深度学习(TensorFlow)环境搭建:(一)硬件选购和主机组装>.这两台也在安装Ubuntu 16.04和1080Ti显卡驱动,在安装Ubuntu的时候,踩过无数个坑,心力憔悴(...(。•ˇ‸ˇ•。)…),因此将踩过的坑以及对于的解决方案汇总出来,让大家少踩那些坑,过程实在是太磨人了. 一.配置 系统:Ubuntu16.04.3 GPU:GTX1080Ti 二.总体流程步骤 安装Ubuntu16.04 安装1080T…
一.深度学习与深层神经网络 深层神经网络是实现“多层非线性变换”的一种方法. 深层神经网络有两个非常重要的特性:深层和非线性. 1.1线性模型的局限性 线性模型:y =wx+b 线性模型的最大特点就是任意线性模型的组合仍然还是线性模型. 如果只通过线性变换,任意层的全连接神经网络和单层神经网络模型的表达能力没有任何的区别,它们都是线性模型.然而线性模型能够解决的问题是有限的. 如果一个问题是线性不可分的,通过线性模型就无法很好的去分类这些问题. 1.2激活函数实现去线性化 神经元的输出为所有输入…
紧接着上一篇的文章<深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动>,这篇文章,主要讲解如何安装CUDA+CUDNN,不过前提是我们是已经把NVIDIA显卡驱动安装好了 一.安装CUDA CUDA(Compute Unified Device Architecture),是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务,想使用GPU就必须要使用CUDA.…