dl简单模板,无pretraining过程
layer_dimensions = [11 22 33 22 11]';
ld_size = size(layer_dimensions , 1);
% what is deal
[x rx dx rdx y ry dy rdy dphi] = deal( cell( ld_size , 1 ) );
[W rW dW rdW] = deal( cell( ld_size-1 , 1 ) ); numsamples = 100;
%initialize weight and x,y, always allocate memory first
for i = 1:ld_size
x{i} = zeros( layer_dimensions( i ) , numsamples );
y{i} = x{i};
if i<ld_size
W{i} = rand( layer_dimensions( i ) ,layer_dimensions( i+1 ) );
end
end
%initialize
inputs = 0*ones(layer_dimensions(1),numsamples);
y{1} = inputs;
dphi{1} = zeros(size(y{1}));
ry{1} = dphi{1}; numepoches = 100;
numbatches = 10;
for iii = 1:numepoches
for ii = 1:numbatches
% f0 pass
for i = 2:ld_size
x{i} = W{i-1}'*y{i-1};
y{i} = sigmoid(x{i});
dphi{i} = y{i}.*(1-y{i}); %for backpropagate
end
% r1 pass
dy{ld_size} = y{ld_size} - y{1};
error=sum(sum(abs(dy{ld_size})))
dx{ld_size} = dphi{ld_size} .* dy{ld_size};
dW{ld_size-1} = y{ld_size-1} * dx{ld_size}';
for i = ld_size-1:-1:2
dy{i} = W{i} * dx{i+1};
W{i} = W{i} - 0.3 * dW{i};
dx{i} = dphi{i} .* dy{i};
dW{i-1} = y{i-1} * dx{i}';
end
% f1 pass end
end %test
numtestsamples=3;
for i = 1:ld_size
x{i} = zeros( layer_dimensions( i ) , numtestsamples );
y{i} = x{i};
end
inputs = zeros(layer_dimensions(1),numtestsamples);
y{1} = inputs;
dphi{1} = zeros(size(y{1}));
ry{1} = dphi{1};
for i = 2:ld_size
x{i} = W{i-1}'*y{i-1};
y{i} = sigmoid(x{i});
dphi{i} = y{i}.*(1-y{i}); %for backpropagate
end
y{ld_size}
dl简单模板,无pretraining过程的更多相关文章
- day7学python 初识简单模板
初识简单模板 模块与包 1.模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现功能),本质是.py结尾的文件 但导入的模块名,无.py 2.包:从逻辑上组织模块,本质就是目录(含有_i ...
- 再起航,我的学习笔记之JavaScript设计模式30(简单模板模式)
简单模板模式 概念介绍 简单模板模式(Simple template): 通过格式化字符串拼凑出视图避免创建视图时大量节点操作,优化内存开销. 创建模板 在实际的业务中如果我们需要进行前后台交互,或多 ...
- helm-chart-2-chart结构和简单模板
1, chart 结构介绍 我们创建一个chart 并查看其结构 右侧注释为其文件的的解释 $ helm create mychart $ cd mychart/ $ tree ├── charts ...
- maven pom文件简单模板和配置详解
https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解
- day8学python 各种简单模板
各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...
- js 简单模板引擎
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
- 69道Spring面试题和答案,简单明了无套路
目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ...
- 第四篇:java读取Excel简单模板
场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...
- 简单的ATM取款过程
一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...
随机推荐
- Mybatis的SqlSession理解(二)
Mybaits加载执行该xml配置 class SqlSessionFactoryBean implements FactoryBean<SqlSessionFactory>, Initi ...
- ASP.NET中Page_Load()与Page_Init()的区别
Page_Init()事件:aspx初始化时触发,只执行一次,常用于页面初始化,并且执行在page_load之前,如果在aspx的程序中需要使用该方法,那么该方法的类需要继承 System.Web.U ...
- Qt网络应用开发初步
应用层的网络协议,如HTTP/FTP/SMTP等简称"应用协议",他们运行在TCP/UDP之上,从Qt5开始,已经不再分别提供QHttp类,QFtp类,应用层的编程使用QNet ...
- Codeforces 985 D - Sand Fortress
D - Sand Fortress 思路: 二分 有以下两种构造, 分别二分取个最小. 代码: #include<bits/stdc++.h> using namespace std; # ...
- Codeforces 493C - Vasya and Basketball
C. Vasya and Basketball 题目链接:http://codeforces.com/problemset/problem/493/C time limit per test 2 se ...
- Python 常见时间处理
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. ...
- 优雅地记录Python程序日志1:logging模块简介
本文摘自:https://zhuanlan.zhihu.com/p/31893724 本篇涉及: logging模块的调用: 保存log日志为文件: 调整输入日志等级: 修改日志消息格式: 前言 在使 ...
- Java 访问RabbitMQ
一.概述 前面学过ActiveMQ.ActiveMQ主要是实现的JMS规范,而RabbitMQ就是AMQP的一个具体实现. RabbitMQ里面有几个概念:生产者.消费者.消息.交换器.路由键.队列. ...
- MATLAB程序控制结构
- Pytorch的Reproducibility(可复现性)
对于Pytorch的结果复现,在不同版本的pytorch或者不同的硬件平台之间,不能够保证结果是完全一致的,即使在CPU和GPU上采用相同的随机数种子. 关于torch.backend.cudnn.b ...