zoukankan      html  css  js  c++  java
  • tf.split

    tf.split(dimension, num_split, input):dimension的意思就是输入张量的哪一个维度,如果是0就表示对第0维度进行切割。num_split就是切割的数量,如果是2就表示输入张量被切成2份,每一份是一个列表。

    1. import tensorflow as tf;  
    2. import numpy as np;  
    3.   
    4. A = [[1,2,3],[4,5,6]]  
    5. x = tf.split(1, 3, A)  
    6.   
    7. with tf.Session() as sess:  
    8.     c = sess.run(x)  
    9.     for ele in c:  
    10.         print ele  

    输出:

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

    TensorFlow函数:tf.split

    由 Carrie 创建, 最后一次修改 2018-03-15

    tf.split函数

    split(
        value,
        num_or_size_splits,
        axis=0,
        num=None,
        name='split'
    )

    定义在:tensorflow/python/ops/array_ops.py

    参见指南:张量变换>切割和连接

    将张量分割成子张量。 

    如果 num_or_size_splits 是整数类型,num_split,则 value 沿维度 axis 分割成为 num_split 更小的张量。要求 num_split 均匀分配 value.shape[axis]。

    如果 num_or_size_splits 不是整数类型,则它被认为是一个张量 size_splits,然后将 value 分割成 len(size_splits) 块。第 i 部分的形状与 value 的大小相同,除了沿维度 axis 之外的大小 size_splits[i]。

    例如:

    # 'value' is a tensor with shape [5, 30]
    # Split 'value' into 3 tensors with sizes [4, 15, 11] along dimension 1
    split0, split1, split2 = tf.split(value, [4, 15, 11], 1)
    tf.shape(split0)  # [5, 4]
    tf.shape(split1)  # [5, 15]
    tf.shape(split2)  # [5, 11]
    # Split 'value' into 3 tensors along dimension 1
    split0, split1, split2 = tf.split(value, num_or_size_splits=3, axis=1)
    tf.shape(split0)  # [5, 10]

    函数参数:

    • value:要分割的 Tensor。
    • num_or_size_splits:指示沿 split_dim 分割数量的 0-D 整数 Tensor 或包含沿 split_dim 每个输出张量大小的 1-D 整数 Tensor ;如果为一个标量,那么它必须均匀分割 value.shape[axis];否则沿分割维度的大小总和必须与该 value 相匹配。
    • axis:A 0-D int32 Tensor;表示分割的尺寸;必须在[-rank(value), rank(value))范围内;默认为0。
    • num:可选的,用于指定无法从 size_splits 的形状推断出的输出数。
    • name:操作的名称(可选)。

    函数返回值:

    如果 num_or_size_splits 是标量,返回 num_or_size_splits Tensor对象;如果 num_or_size_splits 是一维张量,则返回由 value 分割产生的 num_or_size_splits.get_shape[0] Tensor对象。

    函数可能引发的异常:

    • ValueError:如果 num 没有指定并且无法推断。
  • 相关阅读:
    Java 字节码解释说明
    JVM垃圾回收:G1回收器
    JVM 参数
    HotSpot 虚拟机对象探秘
    JDK 内置图形界面工具
    Java 内存模型
    在网络设备上调试 Android 程序
    .NET MVC异步调用中的Session问题
    在MVC的ApiController中实现统一校验
    使用 AndroidX86 在虚拟机中作为调试设备
  • 原文地址:https://www.cnblogs.com/Davirain/p/8940080.html
Copyright © 2011-2022 走看看