zoukankan      html  css  js  c++  java
  • TF-调整矩阵维度 tf.reshape 介绍

    函数原型为 

    def reshape(tensor, shape, name=None)

    第1个参数为被调整维度的张量。

    第2个参数为要调整为的形状。

    返回一个shape形状的新tensor

    注意shape里最多有一个维度的值可以填写为-1,表示自动计算此维度。

    很简单的函数,如下,根据shape为[5,8]的tensor,生成一个新的tensor

    复制代码
    import tensorflow as tf
    
    alist = [[1, 2, 3, 4, 5, 6 ,7, 8],
             [7, 6 ,5 ,4 ,3 ,2, 1, 0],
             [3, 3, 3, 3, 3, 3, 3, 3],
             [1, 1, 1, 1, 1, 1, 1, 1],
             [2, 2, 2, 2, 2, 2, 2, 2]]
    oriarray = tf.constant(alist)
    
    oplist = []
    a1 = tf.reshape(oriarray, [1, 2, 5, 4])
    oplist.append([a1, 'case 1, 2, 5, 4'])
    
    a1 = tf.reshape(oriarray, [-1, 2, 5, 4])
    oplist.append([a1, 'case -1, 2, 5, 4'])
    
    a1 = tf.reshape(oriarray, [8, 5, 1, 1])
    oplist.append([a1, 'case 8, 5, 1, 1'])
    
    with tf.Session() as asess:
        for aop in oplist:
            print('--------{}---------'.format(aop[1]))
            print(asess.run(aop[0]))
            print('--------------------------
    
    ')
    复制代码

    运行结果为

    复制代码
    --------case 1, 2, 5, 4---------
    2017-05-10 15:26:04.020848: W c:	f_jenkinshomeworkspace
    elease-windevicecpuoswindows	ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
    2017-05-10 15:26:04.020848: W c:	f_jenkinshomeworkspace
    elease-windevicecpuoswindows	ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations.
    2017-05-10 15:26:04.020848: W c:	f_jenkinshomeworkspace
    elease-windevicecpuoswindows	ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
    2017-05-10 15:26:04.020848: W c:	f_jenkinshomeworkspace
    elease-windevicecpuoswindows	ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
    2017-05-10 15:26:04.021848: W c:	f_jenkinshomeworkspace
    elease-windevicecpuoswindows	ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
    2017-05-10 15:26:04.021848: W c:	f_jenkinshomeworkspace
    elease-windevicecpuoswindows	ensorflowcoreplatformcpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
    [[[[1 2 3 4]
       [5 6 7 8]
       [7 6 5 4]
       [3 2 1 0]
       [3 3 3 3]]
    
      [[3 3 3 3]
       [1 1 1 1]
       [1 1 1 1]
       [2 2 2 2]
       [2 2 2 2]]]]
    --------------------------
    
    
    --------case -1, 2, 5, 4---------
    [[[[1 2 3 4]
       [5 6 7 8]
       [7 6 5 4]
       [3 2 1 0]
       [3 3 3 3]]
    
      [[3 3 3 3]
       [1 1 1 1]
       [1 1 1 1]
       [2 2 2 2]
       [2 2 2 2]]]]
    --------------------------
    
    
    --------case 8, 5, 1, 1---------
    [[[[1]]
    
      [[2]]
    
      [[3]]
    
      [[4]]
    
      [[5]]]
    
    
     [[[6]]
    
      [[7]]
    
      [[8]]
    
      [[7]]
    
      [[6]]]
    
    
     [[[5]]
    
      [[4]]
    
      [[3]]
    
      [[2]]
    
      [[1]]]
    
    
     [[[0]]
    
      [[3]]
    
      [[3]]
    
      [[3]]
    
      [[3]]]
    
    
     [[[3]]
    
      [[3]]
    
      [[3]]
    
      [[3]]
    
      [[1]]]
    
    
     [[[1]]
    
      [[1]]
    
      [[1]]
    
      [[1]]
    
      [[1]]]
    
    
     [[[1]]
    
      [[1]]
    
      [[2]]
    
      [[2]]
    
      [[2]]]
    
    
     [[[2]]
    
      [[2]]
    
      [[2]]
    
      [[2]]
    
      [[2]]]]
    --------------------------
    
    
    
    Process finished with exit code 0
  • 相关阅读:
    【野生程序员】:优先招聘
    C#-面向对象:争议TDD(测试驱动开发)
    培训班的同学,拜托不要把用人单位想得那么傻,好不好?!
    为什么要讲数据结构和算法?以及如何学习数据结构和算法
    关于办技术线下社区的一些思考
    做了十年的程序员,为什么我没有加班
    编程新手如何理解“面向对象”
    .NET程序员不加班——写在《华为工程师猝死,36岁,22月无休》之后
    “6年的程序员还不会写委托”,问题在哪?
    现身说法:37岁老码农找工作
  • 原文地址:https://www.cnblogs.com/Ph-one/p/9078891.html
Copyright © 2011-2022 走看看