Tensorflow tf.dynamic_partition矩陣拆分示例(Python3)
更新時(shí)間:2020年02月07日 10:38:49 作者:胡大炮的妖孽人生
今天小編就為大家分享一篇Tensorflow tf.dynamic_partition矩陣拆分示例(Python3) ,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
先給出一個(gè)樣例看看
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))
結(jié)果
[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]])]
再給出一個(gè)樣例
Py3代碼:
# one-hot 函數(shù)的樣例
import tensorflow as tf
label = tf.placeholder(tf.int32,[None])
# 直接把 輸入的序列進(jìn)行One-Hot的結(jié)果
one_hot = tf.one_hot(label, 3, 1, 0)
# 進(jìn)行轉(zhuǎn)置
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
# 按照每一維的大小進(jìn)行拆分
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]
# 按照每一維大小進(jìn)行拆分
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]
# 拼接以上兩維得到原來的結(jié)果
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結(jié)果:")
print(one_hot_out, end='\n\n')
print("以上的結(jié)果.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')
控制臺(tái)輸出:
原始的One-hot結(jié)果: [[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]] 以上的結(jié)果.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) 就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
最新PyCharm從安裝到PyCharm永久激活再到PyCharm官方中文漢化詳細(xì)教程
這篇文章涵蓋了最新版PyCharm安裝教程,最新版PyCharm永久激活碼教程,PyCharm官方中文(漢化)版安裝教程圖文并茂非常詳細(xì),需要的朋友可以參考下2020-11-11
Pytorch加載數(shù)據(jù)集的方式總結(jié)及補(bǔ)充
Pytorch自定義數(shù)據(jù)集方法,應(yīng)該是用pytorch做算法的最基本的東西,下面這篇文章主要給大家介紹了關(guān)于Pytorch加載數(shù)據(jù)集的方式總結(jié)及補(bǔ)充,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
2022-11-11
Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼)
這篇文章主要介紹了Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼),代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
2019-11-11
Python爬蟲框架Scrapy實(shí)戰(zhàn)之批量抓取招聘信息
網(wǎng)絡(luò)爬蟲又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者,是按照一定的規(guī)則,自動(dòng)抓取萬維網(wǎng)信息的程序或者腳本。這篇文章主要介紹Python爬蟲框架Scrapy實(shí)戰(zhàn)之批量抓取招聘信息,有需要的朋友可以參考下
2015-08-08 
