tensorflow随笔 -tf.concat
tf.concat
tf.concat(
values,
axis,
name=‘concat’
)
按一維連接張量。
沿著維度軸連接張量值的列表。如果values[i].shape=[D0, D1, … Daxis(i), …Dn],則連接的結(jié)果具有形狀如下:
[D0, D1, … Raxis, …Dn]
在此
Raxis = sum(Daxis(i))
也就是說(shuō),來(lái)自輸入張量的數(shù)據(jù)沿著軸維度連接。
輸入張量的維數(shù)必須匹配,除軸外的所有維度必須相等。
例如:
#!/usr/bin/env python2 # -*- coding: utf-8 -*-t1 = [[1, 2, 3], [4, 5, 6]] t2 = [[7, 8, 9], [10, 11, 12]] a=tf.concat([t1, t2], 0) b=tf.concat([t1, t2], 1) sess=tf.Session() with sess:print sess.run(a)print sess.run(b)[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
在python中,axis可以為負(fù)值。負(fù)軸(axis)x被解釋為從秩(rank)的末尾開(kāi)始計(jì)數(shù),即axis+rank(values)-Th維。
例如:
#!/usr/bin/env python2 # -*- coding: utf-8 -*-import tensorflow as tf t1 = [[[1, 2], [2, 3]], [[4, 4], [5, 3]]] t2 = [[[7, 4], [8, 4]], [[2, 10], [15, 11]]] a=tf.concat([t1, t2], -1) sess=tf.Session() with sess:print sess.run(a)[[[ 1 2 7 4]
[ 2 3 8 4]]
[[ 4 4 2 10]
[ 5 3 15 11]]]
注意:如果你在一個(gè)新的軸上連接,考慮使用堆棧。例如。
tf.concat([tf.expand_dims(t, axis) for t in tensors], axis)
可寫(xiě)成
tf.stack(tensors, axis=axis)
參數(shù):
values: 一個(gè)Tensor對(duì)象的列表或單個(gè)tensor
axis: 0-D int32 Tensor.沿著該軸連接,必須在 [-rank(values), rank(values))
在Pyhon中, axis的索引是基于0. 正軸在[0, rank(values))中稱(chēng)為軸維。負(fù)軸是指axis + rank(values)-th維。
name: 操作名字(可選)
返回:
從input tensors連接而成的Tensor結(jié)果。
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的tensorflow随笔 -tf.concat的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Vue-cli项目中路由的基础用法,以及
- 下一篇: IPv4地址和IPv6地址的比较,IPv