python实现mini-batch_Mini-Batch 、Momentum、Adam算法的实现

def random_mini_batches(X,Y,mini_batch_size=64,seed=0):"""从(X,Y)中创建一个随机的mini-batch列表

参数:

X - 输入数据,维度为(输入节点数量,样本的数量)

Y - 对应的是X的标签,【1 | 0】(蓝|红),维度为(1,样本的数量)

mini_batch_size - 每个mini-batch的样本数量

返回:

mini-bacthes - 一个同步列表,维度为(mini_batch_X,mini_batch_Y)"""np.random.seed(seed)#指定随机种子

m = X.shape[1]

mini_batches=[]#第一步:打乱顺序

permutation = list(np.random.permutation(m)) #它会返回一个长度为m的随机数组,且里面的数是0到m-1

shuffled_X = X[:,permutation] #将每一列的数据按permutation的顺序来重新排列。

shuffled_Y = Y[:,permutation].reshape((1,m))"""#博主注:

#如果你不好理解的话请看一下下面的伪代码,看看X和Y是如何根据permutation来打乱顺序的。

x = np.array([[1,2,3,4,5,6,7,8,9],

[9,8,7,6,5,4,3,2,1]])

y = np.array([[1,0,1,0,1,0,1,0,1]])

random_mini_batches(x,y)

permutation= [7, 2, 1, 4, 8, 6, 3, 0, 5]

shuffled_X= [[8 3 2 5 9 7 4 1 6]

[2 7 8 5 1 3 6 9 4]]

shuffled_Y= [[0 1 0 1 1 1 0 1 0]]"""

#第二步,分割

num_complete_minibatches = math.floor(m / mini_batch_size) #把你的训练集分割成多少份,请注意,如果值是99.99,那么返回值是99,剩下的0.99会被舍弃

for k inrange(0,num_complete_minibatches):

mini_batch_X= shuffled_X[:,k * mini_batch_size:(k+1)*mini_batch_size]

mini_batch_Y= shuffled_Y[:,k * mini_batch_size:(k+1)*mini_batch_size]"""#博主注:

#如果你不好理解的话请单独执行下面的代码,它可以帮你理解一些。

a = np.array([[1,2,3,4,5,6,7,8,9],

[9,8,7,6,5,4,3,2,1],

[1,2,3,4,5,6,7,8,9]])

k=1

mini_batch_size=3

print(a[:,1*3:(1+1)*3]) #从第4列到第6列

'''

[[4 5 6]

[6 5 4]

[4 5 6]]

'''

k=2

print(a[:,2*3:(2+1)*3]) #从第7列到第9列

'''

[[7 8 9]

[3 2 1]

[7 8 9]]

'''

#看一下每一列的数据你可能就会好理解一些"""mini_batch=(mini_batch_X,mini_batch_Y)

mini_batches.append(mini_batch)#如果训练集的大小刚好是mini_batch_size的整数倍,那么这里已经处理完了

#如果训练集的大小不是mini_batch_size的整数倍,那么最后肯定会剩下一些,我们要把它处理了

if m % mini_batch_size !=0:#获取最后剩余的部分

mini_batch_X = shuffled_X[:,mini_batch_size *num_complete_minibatches:]

mini_batch_Y= shuffled_Y[:,mini_batch_size *num_complete_minibatches:]

mini_batch=(mini_batch_X,mini_batch_Y)

mini_batches.append(mini_batch)return mini_batches

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5+shim脚本,HTML5探秘:用requestAnimationFrame优化Web动画

requestAnimationFrame是什么?在浏览器动画程序中,我们通常使用一个定时器来循环每隔几毫秒移动目标物体一次,来让它动起来。如今有一个好消息,浏览器开发商们决定:“嗨,为什么我们不在浏览器里提供这样一个…

计算机科学与技术的专业论述,关于计算机科学专业的论文题目 计算机科学专业论文题目怎样定...

【100道】关于关于计算机科学专业的论文题目汇总,作为大学生的毕业生应该明白了计算机科学专业论文题目怎样定,选一个好的题目后续的计算机科学专业论文写作起来会更轻松!一、比较好写的计算机科学专业论文题目:1、计算机科学与技术专业应用型人才培养改革调研分析—…

ming window 交叉编译_opencv3编译pc端及交叉编译arm端

环境: opensuse opencv3.4.1 交叉编译器arm-openwrt-linux 作者:帅得不敢出门https://github.com/opencv/opencv/tree/3.4.1选择右边的"clone or download"按钮进行下载,选择下载zip我下的是opencv-3.4.1.zip, 3.4.1的版本号…

锁定计算机 背景图片,win7系统电脑更换锁屏壁纸的方法

当win7系统电脑在一段时间不动的话就进入锁屏状态,然而很多用户觉得默认的锁屏壁纸不好看,就想要更换自己喜欢的锁屏壁纸,那么win7怎么更换锁屏壁纸呢?下面给大家讲解一下win7系统电脑更换锁屏壁纸的方法。1、同时按下窗口键winR组…

两阶段最小二乘法原理_R语言代写工具变量与两阶段最小二乘法

我们要估计的模型是yabxcdeyabxcde,其中是解释变量,,和是我们想要估计的系数。是控制变量,是治疗变量。我们特别关注我们的治疗效果对。生成数据首先,让我们生成数据。假设 的工具变量和之间的相关矩阵如下&#xff1a…

计算机二级循环队列知识点,考点!计算机二级考试公共基础知识冲刺复习笔记:栈、队列和循环队列...

小编所收集到的相关计算机二级考试公共基础知识冲刺复习笔记:栈、队列和循环队列的资料 大家要认真阅读哦!1、栈(Stack)又称堆栈。(1)栈是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除运算。人们把此端称为栈顶,…

lua 字符串包含_Programming in Lualua学习第11期 Lua模块与包

微信公众号:GameToolDev关注可了解更多的游戏工具开发教程。问题或建议,请公众号留言;从Lua 5.1开始,我们可以使用require和module函数来获取和创建Lua中的模块。从使用者的角度来看,一个模块就是一个程序库,可以通过r…

学计算机优盘多少内存够用,u盘建议买多大内存的

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。u盘建议买多大内存主要看用途,一般容量为:1G、2G、4G、8G、16G、32G、64G、128G、256G、512G、1T,具体来说:1、如果是用来存放视频的&…

.net 从txt中读取行数据_【VBA项目】从指定文件中读取数据并绘制图表

VBA 是一种很久远的编程语言,但并不过时。在满足以下两个条件时,借助 VBA 可以极大的提升生产率,降低出错率:你的电脑上不允许自主安装软件; 你需要执行的工作中大部分的步骤都是固定且重复的。项目背景近期接到一个工…

本地摄像头应用到远程计算机,远程摄像头设置

可以的,智能家用监控摄像头,只要你手机有网,千里之外打开手机都可以查看视频,而且智能摄像头主要用于看家看孩子看老人照看猫猫狗狗等宠物的。智能摄像头,与市面上普通的事件录制不一样,它可以实现7*24小时…

axure实现复选框全选_jq简单的全选、反选和全不选效果

jquery是很实用和方便的前端效果库,可以让我减少很多的操作和节省很多的时间。今天,我们来说一下jq的全选、全不选和反选效果,本篇讲的是最简单简洁的jq全选、全不选和反选的例子。如果还有什么其他的功能要求可自己根据所学到的基础来扩展一…

计算机设备管理器驱动,设备管理器安装驱动程序的详细教程

系统出现问题,很多人都会选择重装系统。但系统重装后,我们所做的第一件事,就是安装驱动。有的驱动程序有安装包,直接安装就行了。但是有的驱动是只有驱动程序文件,而没有执行程序,这时候就需要通过设备管理…

ef执行原生sql语句_EF Core中执行原生SQL语句

一、课程介绍之所以今天录制这个系列文章的主要原因是,想在快速帮助到大家上手在ASP.NET Core WebAPI中结合EF Core来操作我们的数据库。EF Core的基础文章和基础课程实在是太多了,那么阿笨既然也来录制这个系列课堂,阿笨想必肯定会给大家带来…

华立学院计算机组成原理考试,广东工业大学华立学院计算机组成原理期末复习重点...

广工华立-2015-2016学年度-计算机组成原理考试复习一、考试题型:分为选择、判断、填空、简述题四大类。其中选择题有大约三分之一送分,大题占了50分、题目从课后作业出、重点大题为:指令方面;芯片连接;硬盘计算外存&am…

电路串联和并联图解_一个关于交流电路谐振现象的仿真实验

对于一个具有电阻、电感、电容的交流电路中,交流电源两端的电压一般不和它输出的电流同相位。如果调节电路的参数或者电源频率使它们同相位,这时电路就发生了谐振现象。按照发生谐振现象的电路不同,可以分为串联谐振和并联谐振。1、串联谐振在…

sync不生效 vue_Vue实战项目-记账器-重要知识点汇总

历时3周,记账器项目终于可以运行了,这次项目是基于Vue开发,用到了typeScript和Scss,下面基于项目做一个阶段性的总结,回顾一下项目中用到的知识点。一.组件一开始用的是JS对象的写法:构造选项:{ data(){ret…

开设计算机课程的必要性,学前教育专业开设计算机音乐制作课程的必要性与可行性...

学前教育专业开设计算机音乐制作课程的必要性与可行性李 萍430061【期刊名称】课程教育研究【年(卷),期】2012(000)020【总页数】1一、学前教育专业开设音乐相关课程的现状二、现代教育的新型特点,计算机音乐及制作的发展概况三、计算机音乐制作在学前教育专业开设的…

fifo页面置换算法设计思路_千万级并发!如何设计一个多级缓存系统?

什么是一个多级缓存系统?它有什么用?我们又如何设计一个多级缓存系统?图片来自 Pexels所谓多级缓存系统,就是指在一个系统的不同的架构层级进行数据缓存,以提升访问效率。我们都知道,一个缓存系统,它面临着许多问题&#xff0c…

广东省计算机学校哪所最好,广东省哪个技校比较好哪里好

湖北省有少数大中专院校在教育事业中,无论是投入还是创办教育学院,都比较好,的话就是至少能赚到三成。至于那些综合性、公益性大的院校,可能要好几千块钱不是问题,毕竟我们是艺术类的,所以毕竟整体上看&…

apple quicktime怎么在ppt中用_PPT情感专题大赏No. 007:一份这就是街舞第三季主题PPT(上集)...

Hello,大家好,这里是千师傅小作坊第35期,我是你们的老朋友千千。熟悉千师傅小作坊的人都知道,千师傅特别喜欢看综艺,尤其是音乐、表演、舞蹈类。作为一个十八线PPT设计师,如果我看到好看的节目视觉设计&…