zoukankan      html  css  js  c++  java
  • tf.slice函数解析

    tf.slice函数解析

    觉得有用的话,欢迎一起讨论相互学习~

    我的微博我的github我的B站

    tf.slice(input_, begin, size, name = None)

    解释

    • 这个函数的作用是从输入数据input中提取出一块切片
      • 切片的尺寸是size,切片的开始位置是begin。
      • 切片的尺寸size表示输出tensor的数据维度,其中size[i]表示在第i维度上面的元素个数。
      • 开始位置begin表示切片相对于输入数据input_的每一个偏移量,比如数据input是

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

    • begin为[1, 0, 0],那么数据的开始位置是33。因为,第一维偏移了1,其余几位都没有偏移,所以开始位置是33。
    • 操作满足:
      size[i] = input.dim_size(i) - begin[i]
      0 <= begin[i] <= begin[i] + size[i] <= Di for i in [0, n]
    import tensorflow as tf
    
    sess = tf.Session()
    input = tf.constant([[[1, 1, 1], [2, 2, 2]],
                         [[3, 3, 3], [4, 4, 4]],
                         [[5, 5, 5], [6, 6, 6]]])
    data = tf.slice(input, [1, 0, 0], [1, 1, 3])
    print(sess.run(data))
    """[1,0,0]表示第一维偏移了1
    则是从[[[3, 3, 3], [4, 4, 4]],[[5, 5, 5], [6, 6, 6]]]中选取数据
    然后选取第一维的第一个,第二维的第一个数据,第三维的三个数据"""
    # [[[3 3 3]]]
    data = tf.slice(input, [1, 0, 0], [1, 2, 3])
    print(sess.run(data))
    # [[[3 3 3]
    #   [4 4 4]]]
    data = tf.slice(input, [1, 0, 0], [2, 1, 3])
    print(sess.run(data))
    # [[[3 3 3]]
    #
    #  [[5 5 5]]]
    data = tf.slice(input, [1, 0, 0], [2, 2, 2])
    print(sess.run(data))
    # [[[3 3]
    #   [4 4]]
    #
    #  [[5 5]
    #   [6 6]]]
    """输入参数:
      ● input_: 一个Tensor。
      ● begin: 一个Tensor,数据类型是int32或者int64。
      ● size: 一个Tensor,数据类型是int32或者int64。
      ● name:(可选)为这个操作取一个名字。
    输出参数:
      ● 一个Tensor,数据类型和input_相同。"""
    
  • 相关阅读:
    js时间操作扩展方法
    C#异步调用与线程总结
    ERP笔记5系统服务水平
    HtmlAgilityPack不能解析<select><option>的解决方法
    qq掉线咒语:aidusort.as
    情商的管理
    错误:ORA01036: 非法的变量名/编号 的多种解决办法
    安装MySQLdb时出错:EnvironmentError: mysql_config not found
    Ubuntu12.04安装maven
    (转)ASP.NET 3.5 企业级开发
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/8457077.html
Copyright © 2011-2022 走看看