Python实现CNN的多通道输入实例

yipeiwu_com6年前Python基础

CNN可以同时进行多通道的输入,例如一张彩色图片可以分解成RGB三个通道输入给CNN,当使用自己的数据集时,可以通过numpy来实现数据的多通道输入。

假设我们有两个组数据a和b:

a = np.linspace(1,100,100)
b = np.linsapce(-1,-100,100)

然后将a和b转变成四维数组,TensorFlow接收的数据时四维数组

a = a.reshape(4,1,5,5)
b = b.reshape(4,1,5,5)

这样我们就得到了两个batch_size = 4, channel = 1, width = 5, high = 5的四维数组,然后

a = a.transpose(1,0,2,3)
b = b.transpose(1,0,2,3)

将a和b的维度参数变成[1,4,5,5],然后使用np.vstack()函数将两个数组在通道数上叠加

c = np.vstack((a,b))

最后再次使用.transpose()函数将叠加后的四维数组转换为TensorFlow接受的四维数组

c = c.transpose(1,2,3,0)

这时c就变成了[4,5,5,2],即batch_size = 4, width = 5, high = 5, channel = 2的四维数组。

以上这篇Python实现CNN的多通道输入实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python 序列化Serialize 和 反序列化Deserialize

详解Python 序列化Serialize 和 反序列化Deserialize 序列化 (serialization) 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是...

使用PyCharm进行远程开发和调试的实现

使用PyCharm进行远程开发和调试的实现

你是否经常要在Windows 7或MAC OS X上面开发Python或Web应用程序,但是它们最后需要在linux上面来运行呢? 我们经常会碰到开发时没有问题但是到了正式的Linux环...

Python利用多进程将大量数据放入有限内存的教程

Python利用多进程将大量数据放入有限内存的教程

简介 这是一篇有关如何将大量的数据放入有限的内存中的简略教程。 与客户工作时,有时会发现他们的数据库实际上只是一个csv或Excel文件仓库,你只能将就着用,经常需要在不更新他们的数据仓...

对python 中class与变量的使用方法详解

python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键。 #!/usr/bin/python...

django的settings中设置中文支持的实现

今天创建了个django工程,用的是目前django 1.9.6,创建工程后,settings.py中设置中文显示支持(最简单的,例如把admin界面的默认英文改成中文),定义 TI...