TensorFlow2-高阶操作
生活随笔
收集整理的這篇文章主要介紹了
TensorFlow2-高阶操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
TensorFlow2高階操作
文章目錄
- TensorFlow2高階操作
- 合并與分割
- 數(shù)據(jù)統(tǒng)計
- 張量排序
- 填充與復(fù)制
- 張量限幅
- 高階操作
- 補充說明
合并與分割
- tf.concat([a, b], axis)
- 沿著axis軸(維度)拼接若干個張量,必須保證參與拼接的各個張量除需要拼接的維度其他維度必須一致,concat不會創(chuàng)建新的維度,而是在原來的維度上累加。
- 示例。
- tf.stack([a, b], axis)
- 拼接若干個張量(必須每個維度都是一致的),在指定的axis位置創(chuàng)建新的維度。
- 示例。
- tf.unstack(a, axis)
- 在指定的軸上將張量分離,指定軸維度為多少則分離為多少個張量。
- 示例。
- tf.split(a, axis, num_or_size_splits)
- 在指定維度上分離張量,如果num_or_size_splits給出的是整形數(shù)則均分為多個張量,如果給定的是列表,則按照列表的內(nèi)容劃分。
- 示例。
數(shù)據(jù)統(tǒng)計
- 范數(shù)tf.norm(a, ord, axis)
- 沿著axis軸,求解張量a的ord范數(shù)。(ord表示范數(shù)類似,1范數(shù)、2范數(shù)、無窮范數(shù)等,不指定ord則默認二范數(shù))
- 示例
- 最值均值tf.reduce_min/max/mean(a, axis)
- 在指定維度上計算最值和均值,若不指定axis則將張量當成向量處理。
- 示例。
- 最值位置tf.argmax/min(a, axis)
- 在指定維度上計算最值的位置下標,不指定axis則在第一個維度上進行計算。
- 示例。
- 等值判斷tf.equal(a, b)
- 兩個張量對應(yīng)位置比較是否值相等,返回與進行比較的兩個張量同shape的張量,該位置相等為True,不等為False。
- 示例。
- 張量去重tf.unique(a)
- 返回一個Unique類型的變量,包含兩個Tensor,一個是去重后的Tensor,一個是原Tensor中每個元素在去重后Tensor中的下標。根據(jù)返回的下標可以通過gather方法得到去重前Tensor。
- 示例。
張量排序
- tf.sort(a, direction)/tf.argsort(a, direction)
- 按照指定的升序或者降序方向,對張量進行排序。當張量的維度大于1時,默認對最后一個維度進行排序。
- 示例。
- tf.math.top_k(a, k)
- 找到k個最大或者最小值,返回值和該值所在下標。
- 示例。
填充與復(fù)制
- tf.pad(a, [[A, B], [A, B],...])
- [A, B]表示每個維度的前后是否padding, 1表示填充,0表示不填充。
- 示例。
- tf.tile(a, multiples)
- multiples用一個列表傳入,表示各個維度復(fù)制多少次,最小為1。一般,能使用broadcast的情形不建議使用tile,因為broadcast不會因為復(fù)制而多占用內(nèi)存,TensorFlow中很多運算符是默認支持broadcast的。
- 示例。
張量限幅
- tf.maximum(a, num)/tf.minimum(a, num)
- 將張量一邊用閾值限定,超過則元素置為閾值。缺點是該函數(shù)只能限制一邊。
- 示例。
- tf.clip_by_value(a, min, max)
- 將張量的元素值限制在[min, max]之間,比min小的設(shè)為min值,比max大的設(shè)為max值。
- 示例。
- tf.clip_by_norm(a, norm)
- 根據(jù)范數(shù)值進行限幅,保證梯度方向不變,模改變的常見手段。
- 示例。
- tf.clip_by_global_norm(a, norm)
- 根據(jù)范數(shù)值,整體同比例縮放梯度值。
高階操作
- tf.where(a)/tf.where(cond, A, B)
- 前者用法,返回張量中為True的具體下標,下標的格式依據(jù)張量的維度而定,配合gather方法可以定位異常值。后者用法,依據(jù)條件張量,為True的位置從A取值,不滿足從B取值,返回最終張量。
- 示例。
- tf.scatter_nd(indices, updates, shape)
- 在給定shape的底板張量(全0)上,indices標明位置更新為updates值。
- 示例。
- tf.meshgrid(x, y)
- 組合x和y張量,生成分布存儲的組合結(jié)果。有效避免了Python循環(huán)的使用且能支持GPU運算。
- 示例。
補充說明
- 本文主要講解了TensorFlow2提供的一些較為高級的操作的API解析。
- 博客同步至我的個人博客網(wǎng)站,歡迎瀏覽其他文章。
- 如有錯誤,歡迎指正。
總結(jié)
以上是生活随笔為你收集整理的TensorFlow2-高阶操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据科学竞赛-房价预测
- 下一篇: 数据科学竞赛-计算机视觉赛流程