欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TensorFlow隱藏操作探索(張量操作和定制模型算法)

 更新時間:2023年11月07日 11:18:29   作者:煉丹俠  
這篇文章主要為大家介紹了TensorFlow隱藏操作探索(張量操作和定制模型算法),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

1.張量和操作

tensorflow對張量的操作實際上和numpy差不多,不夠有所差距,numpy的數(shù)據(jù)可以隨時被修改,但是tensorflow的數(shù)據(jù)要分情況。

(1).使用tf.Constant()

a = tf.Constant([[1,2,3],[4,5,6]])

這個矩陣就是2*3的矩陣,但是它無法被修改,只能讀取。
除了不能修改,其實和numpy的使用方法
比如查看它的大小也可以用:a.shape
索引方式也一樣,這里不做過得描述

(2).tensorflow提供的數(shù)據(jù)操作函數(shù)

比如加法: a + 10 可以使用函數(shù) tf.add(a, 10);

矩陣的乘法為tf.matmul(),它提供的函數(shù)和numpy都差不多,但是有些不一樣

比如求和.tf.reduce_sum(),求均值為tf.reduce_mean(),求最大值tf.reduce_max();

numpy也可以用于tensorflow中,轉(zhuǎn)換為張量。

(3)類型轉(zhuǎn)換

tensorflow中有個很麻煩的東西,整形+浮點型會失敗,float32和float64相加也會失敗,它不會自動執(zhí)行類型轉(zhuǎn)換,需要你手動操作。

tf.cast()可以用來進行轉(zhuǎn)換,比如把a轉(zhuǎn)為float64類型的
tf.cast(a, tf.float64)

(4).變量

tf.Constant無法被改變,固定好深度學習的參數(shù)后,可以使用這個類型的變量,但是如果需要對它進行訓練,則必須要使用tf.Variable

我們對tf.Variable的修改也需要使用特定的函數(shù)assign

a[0,0].assign(10)

這樣a的第一個值就變?yōu)榱?0,這個就相當于a[0,0] = 10

麻煩就是這個啦,必須通過相應的函數(shù)來操作;

(5).其他數(shù)據(jù)結(jié)構(gòu)

tensorflow還有其他數(shù)據(jù)結(jié)構(gòu),比如稀疏張量(tf.SparseTensor),張量數(shù)組(tf.TensorArrray),不規(guī)則張量(tf.RaggedTensor),字符串張量(tf.string)等等

2.定制模型和算法

(1)自定義損失函數(shù)

比如自定義一個Huber
def huber_fn(y_true, y_pred):`

error = tf.abs(y_true - y_pred);
    is_small_error = tf.abs(error) < 1#門限設置為1
    squared_loss = tf.abs(error)-0.5
    return tf.where(is_small_error, squared_loss, linear_loss)

可以在Keras模型中使用這個函數(shù)

model.compile(loss=huber_fn, opitimizer= 'adam');

(2)保存和加載自定義組件的模型

keras會保存函數(shù)的名字,每次加載的適合需要提供一個字典,將函數(shù)名稱映射到實際函數(shù)。一般而言,當加載包含自定義對象的模式時,需要將名稱映射到對象。

model = keras.models.load_model("model.h5", custom_objects = {'huber_fn':huber_fn})

如果需要更為靈活的函數(shù),設定上面函數(shù)的閾值,不僅僅等于1

def more_freedom_huber(limit = 1.0):

def huber_fn(y_true, y_pred):
            error = tf.abs(y_true - y_pred);
            is_small_error = tf.abs(error) < 1#門限設置為1
            squared_loss = tf.abs(error)-0.5
            return tf.where(is_small_error, squared_loss, linear_loss)
    return huber_fn
    model = keras.models.load_model("model.h5", custom_objects = {'huber_fn':more_freedom_huber(2.0)})

還可以通過繼承keras.losses.Loss類的子類,然后實現(xiàn)get_config()方法來解決問題

比如自定義激活函數(shù),初始化方法,正則化和約束。

如果函數(shù)需要和模型一起保存,必須繼承相應的對象,比如keras.regularizers.Regularizer

以上就是TensorFlow隱藏操作探索(張量操作和定制模型算法)的詳細內(nèi)容,更多關(guān)于TensorFlow張量定制模型算法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一文帶你學會Python?Flask框架設置響應頭

    一文帶你學會Python?Flask框架設置響應頭

    本篇博客我們將帶大家全面了解Python中Flask框架關(guān)于請求的相關(guān)設置的相關(guān)知識,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下
    2023-01-01
  • Python實現(xiàn)的二維碼生成小軟件

    Python實現(xiàn)的二維碼生成小軟件

    這篇文章主要介紹了Python實現(xiàn)的二維碼生成小軟件,使用wxPython、python-qrcode、pyqrcode、pyqrnative等技術(shù)和開源類庫實現(xiàn),需要的朋友可以參考下
    2014-07-07
  • 如何實現(xiàn)Django Rest framework版本控制

    如何實現(xiàn)Django Rest framework版本控制

    這篇文章主要介紹了如何實現(xiàn)Django Rest framework版本控制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 用于業(yè)余項目的8個優(yōu)秀Python庫

    用于業(yè)余項目的8個優(yōu)秀Python庫

    今天小編就為大家分享一篇用于業(yè)余項目的8個大型Python庫,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • 淺談終端直接執(zhí)行py文件,不需要python命令

    淺談終端直接執(zhí)行py文件,不需要python命令

    下面小編就為大家?guī)硪黄獪\談終端直接執(zhí)行py文件,不需要python命令。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解duck typing鴨子類型程序設計與Python的實現(xiàn)示例

    詳解duck typing鴨子類型程序設計與Python的實現(xiàn)示例

    這篇文章主要介紹了詳解duck typing鴨子類型程序設計與Python的實現(xiàn)示例,鴨子類型特指解釋型語言中的一種編程風格,需要的朋友可以參考下
    2016-06-06
  • 分享10提高?Python?代碼的可讀性的技巧

    分享10提高?Python?代碼的可讀性的技巧

    這篇文章主要介紹了分享10提高?Python?代碼的可讀性的技巧,本文介紹20個常用的Python技巧來提高代碼的可讀性,并能幫助你節(jié)省大量時間,下面的技巧將在你的日常編碼練習中非常實用,需要的朋友可以參考一下
    2022-03-03
  • python re模塊常見用法例舉

    python re模塊常見用法例舉

    在本篇文章里小編給大家整理的是一篇關(guān)于python re模塊常見用法例舉內(nèi)容,有興趣的朋友們可以學習下。
    2021-03-03
  • 利用Django框架中select_related和prefetch_related函數(shù)對數(shù)據(jù)庫查詢優(yōu)化

    利用Django框架中select_related和prefetch_related函數(shù)對數(shù)據(jù)庫查詢優(yōu)化

    這篇文章主要介紹了利用Python的Django框架中select_related和prefetch_related函數(shù)對數(shù)據(jù)庫查詢的優(yōu)化的一個實踐例子,展示如何在實際中利用這兩個函數(shù)減少對數(shù)據(jù)庫的查詢次數(shù),需要的朋友可以參考下
    2015-04-04
  • centos 安裝Python3 及對應的pip教程詳解

    centos 安裝Python3 及對應的pip教程詳解

    這篇文章主要介紹了centos 安裝Python3 及對應的pip的教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06

最新評論