最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談keras中l(wèi)oss與val_loss的關(guān)系

 更新時間:2020年06月22日 17:05:29   作者:lgy_keira  
這篇文章主要介紹了淺談keras中l(wèi)oss與val_loss的關(guān)系,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

loss函數(shù)如何接受輸入值

keras封裝的比較厲害,官網(wǎng)給的例子寫的云里霧里,

在stackoverflow找到了答案

You can wrap the loss function as a inner function and pass your input tensor to it (as commonly done when passing additional arguments to the loss function).

def custom_loss_wrapper(input_tensor):
 def custom_loss(y_true, y_pred):
  return K.binary_crossentropy(y_true, y_pred) + K.mean(input_tensor)
 return custom_loss
input_tensor = Input(shape=(10,))
hidden = Dense(100, activation='relu')(input_tensor)
out = Dense(1, activation='sigmoid')(hidden)
model = Model(input_tensor, out)
model.compile(loss=custom_loss_wrapper(input_tensor), optimizer='adam')

You can verify that input_tensor and the loss value will change as different X is passed to the model.

X = np.random.rand(1000, 10)
y = np.random.randint(2, size=1000)
model.test_on_batch(X, y) # => 1.1974642

X *= 1000
model.test_on_batch(X, y) # => 511.15466

fit_generator

fit_generator ultimately calls train_on_batch which allows for x to be a dictionary.

Also, it could be a list, in which casex is expected to map 1:1 to the inputs defined in Model(input=[in1, …], …)

### generator
yield [inputX_1,inputX_2],y
### model
model = Model(inputs=[inputX_1,inputX_2],outputs=...)

補充知識:學(xué)習(xí)keras時對loss函數(shù)不同的選擇,則model.fit里的outputs可以是one_hot向量,也可以是整形標(biāo)簽

我就廢話不多說了,大家還是直接看代碼吧~

from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt

print(tf.__version__)
fashion_mnist = keras.datasets.fashion_mnist

(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
    'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
# plt.figure()
# plt.imshow(train_images[0])
# plt.colorbar()
# plt.grid(False)
# plt.show()

train_images = train_images / 255.0
test_images = test_images / 255.0

# plt.figure(figsize=(10,10))
# for i in range(25):
#  plt.subplot(5,5,i+1)
#  plt.xticks([])
#  plt.yticks([])
#  plt.grid(False)
#  plt.imshow(train_images[i], cmap=plt.cm.binary)
#  plt.xlabel(class_names[train_labels[i]])
# plt.show()

model = keras.Sequential([
 keras.layers.Flatten(input_shape=(28, 28)),
 keras.layers.Dense(128, activation='relu'),
 keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
    loss='categorical_crossentropy', 
    #loss = 'sparse_categorical_crossentropy' 則之后的label不需要變成one_hot向量,直接使用整形標(biāo)簽即可
    metrics=['accuracy'])
one_hot_train_labels = keras.utils.to_categorical(train_labels, num_classes=10)

model.fit(train_images, one_hot_train_labels, epochs=10)

one_hot_test_labels = keras.utils.to_categorical(test_labels, num_classes=10)
test_loss, test_acc = model.evaluate(test_images, one_hot_test_labels)

print('\nTest accuracy:', test_acc)

# predictions = model.predict(test_images)
# predictions[0]
# np.argmax(predictions[0])
# test_labels[0]

loss若為loss=‘categorical_crossentropy', 則fit中的第二個輸出必須是一個one_hot類型,

而若loss為loss = ‘sparse_categorical_crossentropy' 則之后的label不需要變成one_hot向量,直接使用整形標(biāo)簽即可

以上這篇淺談keras中l(wèi)oss與val_loss的關(guān)系就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python輕量級orm框架 peewee常用功能速查詳情

    python輕量級orm框架 peewee常用功能速查詳情

    Peewee是一種簡單而小的ORM。它有很少的(但富有表現(xiàn)力的)概念,使它易于學(xué)習(xí)和直觀的使用,感興趣的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • python如何制作英文字典

    python如何制作英文字典

    這篇文章主要為大家詳細(xì)介紹了python如何制作英文字典,添加單詞的意思,查詢,退出,建立單詞文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python網(wǎng)頁正文轉(zhuǎn)換語音文件的操作方法

    Python網(wǎng)頁正文轉(zhuǎn)換語音文件的操作方法

    這篇文章主要介紹了Python網(wǎng)頁正文轉(zhuǎn)換語音文件的操作方法,需要的朋友可以參考下
    2018-12-12
  • python3 發(fā)送任意文件郵件的實例

    python3 發(fā)送任意文件郵件的實例

    下面小編就為大家分享一篇python3 發(fā)送任意文件郵件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • python 序列類型list示例詳解

    python 序列類型list示例詳解

    列表(List)是一種有序的集合,可以包含任意類型的對象:數(shù)字、字符串甚至其他列表等,列表是可變的,這意味著我們可以添加、刪除或更改列表中的元素,這篇文章主要介紹了python 序列類型list示例詳解,需要的朋友可以參考下
    2024-04-04
  • 一文學(xué)會VSCode使用python

    一文學(xué)會VSCode使用python

    Pycharm用著卡還收費!何不試試VSCode!一文學(xué)會VSCode使用python,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-08-08
  • python操作ini類型配置文件的實例教程

    python操作ini類型配置文件的實例教程

    這篇文章主要給大家介紹了關(guān)于python操作ini類型配置文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 使用Python獲取CPU、內(nèi)存和硬盤等windowns系統(tǒng)信息的2個例子

    使用Python獲取CPU、內(nèi)存和硬盤等windowns系統(tǒng)信息的2個例子

    這篇文章主要介紹了使用Python獲取CPU、內(nèi)存和硬盤等windowns系統(tǒng)信息的2個例子,使用的python wmi模塊,需要的朋友可以參考下
    2014-04-04
  • Python實現(xiàn)批量讀取HDF多波段柵格數(shù)據(jù)并繪制像元直方圖

    Python實現(xiàn)批量讀取HDF多波段柵格數(shù)據(jù)并繪制像元直方圖

    這篇文章主要為大家詳細(xì)介紹了如何基于Python語言gdal模塊,實現(xiàn)多波段HDF柵格圖像文件的讀取、處理與像元值可視化(直方圖繪制)等操作,需要的可以參考一下
    2023-03-03
  • python使用os.listdir和os.walk獲得文件的路徑的方法

    python使用os.listdir和os.walk獲得文件的路徑的方法

    本篇文章主要介紹了python使用os.listdir和os.walk獲得文件的路徑的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12

最新評論

聊城市| 武义县| 微博| 邵东县| 皋兰县| 呼和浩特市| 三江| 建湖县| 凤山市| 霍城县| 三原县| 乐亭县| 英山县| 普洱| 高清| 岑巩县| 九寨沟县| 玛曲县| 阳新县| 北宁市| 高碑店市| 鄢陵县| 泽州县| 安康市| 邵阳市| 定州市| 乌兰浩特市| 临江市| 米泉市| 黄龙县| 芜湖市| 水富县| 金溪县| 南华县| 建宁县| 陆丰市| 苍梧县| 于都县| 金秀| 马鞍山市| 洛扎县|