Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)


Posted in Python onFebruary 07, 2020

先给出一个样例看看

import tensorflow as tf

raw = tf.constant([1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1])

'''
拆成 [1,2] [3,4] [5,6] [6,5] [4,3] [2,1]
'''
result_1 = tf.dynamic_partition(tf.reshape(raw, [6,2]),[0, 1, 2, 3, 4, 5], 6)

'''
拆成 [1, 2, 3, 4, 5, 6] [6, 5, 4, 3, 2, 1] 
'''
result_2 = tf.dynamic_partition(tf.reshape(raw, [2, 6]), [0, 1], 2)

'''
拆成 [1] [2] [3] [4] [5] [6] [6] [5] [4] [3] [2] [1]
'''
result_3 = tf.dynamic_partition(tf.reshape(raw, [12, 1]), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], 12)

with tf.Session() as sess:
  print(sess.run(result_1))
  print(sess.run(result_2))
  print(sess.run(result_3))

结果

[array([[1, 2]]), array([[3, 4]]), array([[5, 6]]), array([[6, 5]]), array([[4, 3]]), array([[2, 1]])]
[array([[1, 2, 3, 4, 5, 6]]), array([[6, 5, 4, 3, 2, 1]])]
[array([[1]]), array([[2]]), array([[3]]), array([[4]]), array([[5]]), array([[6]]), array([[6]]), array([[5]]), array([[4]]), array([[3]]), array([[2]]), array([[1]])]

再给出一个样例

Py3代码:

# one-hot 函数的样例
import tensorflow as tf

label = tf.placeholder(tf.int32,[None])
# 直接把 输入的序列进行One-Hot的结果
one_hot = tf.one_hot(label, 3, 1, 0)
# 进行转置
one_hot_new = tf.transpose(one_hot, perm=[1,0])
one_hot_new = tf.cast(one_hot_new, tf.float32)
# one_hot_new[2] = one_hot_new[2] * 1.5

# 按照每一维的大小进行拆分
one_hot_new_1 = tf.dynamic_partition(one_hot_new, [0, 1, 1], 2)[0]
one_hot_new_2 = tf.dynamic_partition(one_hot_new, [1, 0, 1], 2)[0]
one_hot_new_3 = tf.dynamic_partition(one_hot_new, [1, 1, 0], 2)[0]

# 按照每一维大小进行拆分
one_hot_1 = tf.dynamic_partition(one_hot_new, [0, 1, 2], 3)[0]
one_hot_2 = tf.dynamic_partition(one_hot_new, [0, 1, 2], 3)[1]
one_hot_3 = tf.dynamic_partition(one_hot_new, [0, 1, 2], 3)[2]

# one_hot_new_3 = tf.dynamic_partition(one_hot_new, [0, 0, 1], 2)[2]
# 拼接以上两维得到原来的结果
one_hot_new = tf.concat([one_hot_new_1, one_hot_new_2], axis=0)


if __name__ == '__main__':
  with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    one_hot_out, one_hot_new_out, one_hot_new_1_out, one_hot_new_2_out, one_hot_new_3_out, one_hot_1_out, one_hot_2_out, one_hot_3_out = sess.run([one_hot, one_hot_new, one_hot_new_1, one_hot_new_2, one_hot_new_3, one_hot_1, one_hot_2, one_hot_3], feed_dict={label: [0, 1, 1, 2, 2, 0, 0, 1, 2, 2, 0, 2]})
    print("原始的One-hot结果:")
    print(one_hot_out, end='\n\n')
    print("以上的结果.T:")

    print("方法一拆分:")
    print(one_hot_new_out, end='\n\n')
    print("拆分(1)维:")
    print(one_hot_new_1_out, end='\n\n')
    print("拆分 (2)维:")
    print(one_hot_new_2_out, end='\n\n')
    print("拆分 (3)维:")
    print(one_hot_new_3_out, end='\n\n')

    print("方法二拆分:")
    print("拆分(1)维:")
    print(one_hot_1_out, end='\n\n')
    print("拆分 (2)维:")
    print(one_hot_2_out, end='\n\n')
    print("拆分 (3)维:")
    print(one_hot_3_out, end='\n\n')

控制台输出:

原始的One-hot结果: 
[[1 0 0] 
[0 1 0] 
[0 1 0] 
[0 0 1] 
[0 0 1] 
[1 0 0] 
[1 0 0] 
[0 1 0] 
[0 0 1] 
[0 0 1] 
[1 0 0] 
[0 0 1]]

以上的结果.T: 
方法一拆分: 
[[ 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0.] 
[ 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0.]]

拆分(1)维: 
[[ 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0.]]

拆分 (2)维: 
[[ 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0.]]

拆分 (3)维: 
[[ 0. 0. 0. 1. 1. 0. 0. 0. 1. 1. 0. 1.]]

方法二拆分: 
拆分(1)维: 
[[ 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0.]]

拆分 (2)维: 
[[ 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0.]]

拆分 (3)维: 
[[ 0. 0. 0. 1. 1. 0. 0. 0. 1. 1. 0. 1.]]

以上这篇Tensorflow tf.dynamic_partition矩阵拆分示例(Python3) 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python根据经纬度计算距离示例
Feb 16 Python
Python中用Decorator来简化元编程的教程
Apr 13 Python
Python中类的定义、继承及使用对象实例详解
Apr 30 Python
Python实现统计代码行的方法分析
Jul 12 Python
Python3实现的判断环形链表算法示例
Mar 07 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
python Tcp协议发送和接收信息的例子
Jul 22 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
python isinstance函数用法详解
Feb 13 Python
Python字符串函数strip()原理及用法详解
Jul 23 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 #Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 #Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 #Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 #Python
详解python itertools功能
Feb 07 #Python
Python中itertools的用法详解
Feb 07 #Python
Python转换itertools.chain对象为数组的方法
Feb 07 #Python
You might like
PHP获取服务器端信息的方法
2014/11/28 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
Python模块学习 filecmp 文件比较
2012/08/27 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
python Django批量导入不重复数据
2016/03/25 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
园林设计师自荐信
2013/11/18 职场文书
肯尼迪就职演说稿
2013/12/31 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
2014年学习部工作总结
2014/11/12 职场文书
先进集体申报材料
2014/12/25 职场文书
趵突泉导游词
2015/02/03 职场文书
消夏晚会主持词
2015/06/30 职场文书
会议简报格式范文
2015/07/20 职场文书
怎样写工作总结啊!
2019/06/18 职场文书