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
  • 相关阅读:
    古典兔子问题
    (I/O流)在100ms内桌面上生成一个200M大小的文件
    搭建手机UI自动化
    关于String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    关于数据库范式的理解
    Orcl分页查询的语法示例
    Eclipse alt+/语法不提示的解决方法
    redis 使用rdb从高版本迁移至低版本
    redis集群详解
    Linux firewall防火墙设置
  • 原文地址:https://www.cnblogs.com/qggg/p/6836238.html
Copyright © 2011-2022 走看看