分享

2. Learning Tensorflow Arrays

 雪柳花明 2017-01-16
1.  在Tensorflow处理图片是一件很常见的事情。
     对图片的操作,必定涉及到了Array

   处理图片使用时需要使用matplotlib
   所以要安装matplotlib,  python好像已经安装了,若没有安装的话,自行安装。


二.    加载图片

 

该照片放置的目录和该脚本放置的目录一致。

打印的数据为图像的分辨率和像素为几通道。


三.    显示图片
在二的基础上,添加以下代码:
 
 
总的代码如下:
 

使用plt来查看图片。
 

四: Tensorflow 操作图片,将图片进行旋转
 
 
其中最为重要的就是:
                            x=tf.transpose(x,perm=[1,0,2])
使用了TensorFlow中的transpose函数方法。

五.  今天使用tensorflow遇到一个函数 tf.transpose(X,perm = [0,2,1])

这个函数就是将tensor的对应的维数进行置换,这里发现几点,

1.tensorflow 里面的 tensor是先从高维向低维算起的

比如:'x' is   [

                          [   [1  2  3]
  #                          [4  5  6]   ]
  #                     [    [7  8  9]
  #                          [10 11 12]    ]

                    ]

x的维数就是【2,2,3】 

有两对   [[ ]]  第一个2,    [[   ]]中有两对[ ],第二个2,  [   ]有三个数,1,2,3即[1  2  3]

  1. # 'x' is   [  [[1  2  3]  
  2. #                [4  5  6]]  
  3. #              [[7  8  9]  
  4. #               [10 11 12]]  ] 

而perm的意思就是将tensor对应的不同的维数之间变换


x的维数就是【2,2,3】,

这里perm=[0,1,2],0对应x维数的第一个2,  1对应第二个2,   2对应维数3.


比如perm = 【2,1,0】,则原tensor = 【3,2,2】,全部倒过来

   perm = 【0,2,1】 , 则原tensor = 【2,3,2】, 最后两维置换

        tf.transpose(b, perm=[0, 2, 1]) ==>

                                      [[[1  4]
                                        [2  5]
                                        [3  6]]

                                       [[7 10]
                                        [8 11]
                                        [9 12]]] 



六   图片的轴对称旋转
 
 
跟上面不同之处
 
 最后显示的结果为:
 
 
七  tf.reverse_sequence()

tf.reverse_sequence(input, seq_lengths, seq_dim, batch_dim=None, name=None)
batch_dim 指明在哪一维上作处理,
比如输入的是一个rgb图片,32*24*3,32为图片的高,24为图片的宽,32是行,24对应列。
如果我希望将每一行从左到 右的数据翻转,
那么我需要指定batch_dim=0,seq_dim=1,
如果我希望每一列从上到下翻转,则指定 batch_dim=1,seq_dim=0。
如果我指定batch_dim=0,即希望每一行翻转,
则seq_lengths的长度应等于32,即需要 指定每一行从哪一列到哪一列翻转,
比如seq_lengths[0]=12,则希望第一行下标为0~12的列翻转,
seq_dim=1表示对列操作。 seq_lengths[i]的值应小于一共有多少列=24



























 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多