tensorflow对图像进行拼接的例子


Posted in Python onFebruary 05, 2020

tensorflow对图像进行多个块的行列拼接tf.concat(), tf.stack()

在深度学习过程中,通过卷积得到的图像块大小是8×8×1024的图像块,对得到的图像块进行reshape得到[8×8]×[32×32],其中[8×8]是图像块的个数,[32×32]是小图像的大小。通过tf.concat对小块的图像进行拼接。

-在做图像卷积的过程中,做了这样一个比较麻烦的拼接,现在还没想到更好的拼接方法,因为是块拼接,开始的时候使用了reshape,但是得到的结果不对,需要确定清楚数据的维度,对于数据的维度很是问题。

import tensorflow as tf
def tensor_concat(f, axis):
 x1 = f[0, :, :]
 for i in range(1, 8):
  x1 = tf.concat([x1, f[i, :, :]], axis=axis)
 return x1

def block_to_image(f): 
 x1 = tf.reshape(f, [64, 1024])
 x1 = tf.reshape(x1, [64, 32, 32])
 m2 = tensor_concat(x1[0:8, :, :], axis=1)
 for i in range(1, 8):
  m1 = tensor_concat(x1[i*8:(i+1)*8, :, :], axis=1)
  m2 = tf.concat([m2, m1], axis=0)
 x2 = tf.reshape(m2, [256, 256, 1])
 return x2

x = tf.random_normal([ 8, 8, 1024])
with tf.Session() as sess:
 m = sess.run(x)
 m1 = sess.run(block_to_image(m))

最后通过行拼接和列拼接得到图像大小为256×256×1大小的图像。

对[batch_size, height, weight, channel] 的图像进行1一样的图像块拼接:

在深度神经网络中,会有batch_size个图像大小[256×256×1]的图像进行块的拼接,对于多了一个维度的图像拼接起来,由[batch_size, 8, 8, 1024]拼接为[batch_size,256, 256, 1]。在做着部分时batch_size这部分实在是不知道怎么处理,所以还是用了本办法,使用的函数是append和tf.stack()

def tensor_concat(f, axis):
 x1 = f[0, :, :]
 for i in range(1, 8):
  x1 = tf.concat([x1, f[i, :, :]], axis=axis)
 return x1

def block_to_image(f):
 x3 =[]
 for k in range(f.shape[0]):
  x = f[k, :, :, :]
  x1 = tf.reshape(x, [64, 1024])
  x1 = tf.reshape(x1, [64, 32, 32])
  m2 = tensor_concat(x1[0:8, :, :], axis=1)
  for i in range(1, 8):
   m1 = tensor_concat(x1[i*8:(i+1)*8, :, :], axis=1)
   m2 = tf.concat([m2, m1], axis=0)
  x2 = tf.reshape(m2, [256, 256, 1])
  x3.append(x2)
  x4 = tf.stack(x3)
 return x4 
x = tf.random_normal([10, 8, 8, 1024])
with tf.Session() as sess:
 m = sess.run(x)
 m1 = sess.run(block_to_image1(m))

在学习过程中对tensor不能直接赋值,比如不能写:

x2 = tf.reshape(m2, [256, 256, 1]) 

x3[k, :, :, 1] = x2

这样的代码,会出现错误:'Tensor' object does not support item assignment

对于带有类似索引的赋值,参考的办法是:

x3 = [] 

x3.append(x2)

这时候得到的是list的格式,所以接下来将list转化为array,使用的是tf.stack(x3)

以上这篇tensorflow对图像进行拼接的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用中文的方法
Feb 19 Python
python多线程http下载实现示例
Dec 30 Python
python中List的sort方法指南
Sep 01 Python
Python pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
python写入中英文字符串到文件的方法
May 06 Python
Python中字典映射类型的学习教程
Aug 20 Python
Python随机数random模块使用指南
Sep 09 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
Python实现E-Mail收集插件实例教程
Feb 06 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Python多线程thread及模块使用实例
Apr 28 Python
python开发入门——set的使用
Sep 03 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 #Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 #Python
基于Tensorflow批量数据的输入实现方式
Feb 05 #Python
Python操作注册表详细步骤介绍
Feb 05 #Python
Python类继承和多态原理解析
Feb 05 #Python
Python模块 _winreg操作注册表
Feb 05 #Python
python3操作注册表的方法(Url protocol)
Feb 05 #Python
You might like
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
[46:02]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第二局
2016/02/28 DOTA
Python连接phoenix的方法示例
2017/09/29 Python
python简单商城购物车实例代码
2018/03/15 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
SportsDirect.com马来西亚:英国第一体育零售商
2018/11/21 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
结婚典礼证婚词
2014/01/08 职场文书
网上开店必备创业计划书
2014/01/26 职场文书
保护环境建议书100字
2014/05/13 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
军人离婚协议书样本
2014/10/21 职场文书
具结保证书范本
2015/05/11 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python
详解非极大值抑制算法之Python实现
2021/06/28 Python
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
Redis实战高并发之扣减库存项目
2022/04/14 Redis