自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一招教你使用 tf.keras 和 eager execution 解決復(fù)雜問(wèn)題

開(kāi)發(fā) 開(kāi)發(fā)工具 機(jī)器學(xué)習(xí)
本文作者利用 TensorFlow 的兩個(gè)最新 API(tf.keras 和 eager execution)解決了四類復(fù)雜問(wèn)題:文本生成、生成對(duì)抗網(wǎng)絡(luò)、神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯、圖片標(biāo)注。文中對(duì)此進(jìn)行了詳細(xì)描述,并附上其 notebook 地址。

生成模型和序列模型總是令我著迷:它們提出的問(wèn)題與我們初學(xué)機(jī)器學(xué)習(xí)時(shí)常遇到的問(wèn)題不同。剛開(kāi)始學(xué)習(xí) ML 時(shí),和很多人一樣,我學(xué)的是分類和回歸。這些可以幫助我們提出并回答以下問(wèn)題:

  • 圖片里是貓還是狗?(分類)
  • 明天有多大概率會(huì)下雨?(回歸)

分類和回歸是非常值得掌握的技能,并且?guī)缀蹩梢?**將這兩者用于現(xiàn)實(shí)問(wèn)題。但是,我們可能會(huì)提出其它類型的問(wèn)題,這些問(wèn)題與之前的十分不同。

  • 能作詩(shī)嗎?(文本生成)
  • 能生成一張貓的圖片嗎?(生成對(duì)抗網(wǎng)絡(luò))
  • 能翻譯句子嗎?(神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯)
  • 能根據(jù)圖片生成標(biāo)題嗎?(圖片標(biāo)注)

[[241467]]

在暑期實(shí)習(xí)期間,我使用 TensorFlow 的兩個(gè)*** API(tf.keras 和 eager execution)開(kāi)發(fā)了這些示例,以下是分享內(nèi)容。希望你們能覺(jué)得它們有用,有趣!

  • Eager execution 是一個(gè)由運(yùn)行定義的命令式接口,一旦從 Python 調(diào)用,其操作將被立即執(zhí)行。這使得入門 TensorFlow 變得更簡(jiǎn)單,也使研發(fā)更直觀。
  • tf.keras 是一個(gè)高級(jí) API,用于定義具有類似樂(lè)高積木的模型。我使用模型子類化(Model subclassing)實(shí)現(xiàn)了這些示例,它允許我們通過(guò)子類化 tf.keras 模型和定義自己的前向傳播來(lái)建立完全可定制的模型。當(dāng)啟用 eager execution 時(shí),模型子類化特別有用,因?yàn)榍跋騻鞑タ梢员幻钍降鼐帉憽?/li>

如果你還不了解這些 API,可以通過(guò) tensorflow.org/tutorials 上的 notebook 來(lái)了解更多信息,其中包含最近更新的示例。

以下每個(gè)示例都是端到端的,并遵循類似的模式:

  • 自動(dòng)下載訓(xùn)練數(shù)據(jù)。
  • 預(yù)處理訓(xùn)練數(shù)據(jù),并創(chuàng)建 tf.data 數(shù)據(jù)集以便在輸入管道中使用。
  • 使用 tf.keras 模型子類化 API 定義模型。
  • 使用 eager execution 訓(xùn)練模型。
  • 演示如何使用訓(xùn)練好的模型。

示例#1:文本生成

***個(gè)示例是文本生成,我們用 RNN 生成與莎士比亞風(fēng)格類似的文本。你可以通過(guò)下面的鏈接在 Colaboratory 上運(yùn)行它(或者從 GitHub 下載它當(dāng)做 Jupyter notebook)。代碼在 notebook 中有詳細(xì)解釋。

示例 1 notebook:

https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/generative_examples/text_generation.ipynb

鑒于莎士比亞著作頗豐,這個(gè)例子學(xué)會(huì)了生成與莎翁風(fēng)格相似的文本:

在莎士比亞文集訓(xùn)練 30 個(gè) epoch 后,notebook 生成的示例文本。

雖然大部分句子都沒(méi)有意義(因?yàn)檫@個(gè)簡(jiǎn)單的模型還沒(méi)有學(xué)會(huì)語(yǔ)言的含義),但令人印象深刻的是,大多數(shù)單詞拼寫正確,并且它生成的劇本結(jié)構(gòu)看起來(lái)與原始劇本的結(jié)構(gòu)相似。(這是一個(gè)基于字符的模型,我們訓(xùn)練它的時(shí)間不長(zhǎng)——但它已經(jīng)成功地從零開(kāi)始學(xué)會(huì)了這兩件事)。只要你想,更改一行代碼就可以更改數(shù)據(jù)集。)

想要更進(jìn)一步了解 RNN,可以去看 Andrej Karpathy 的優(yōu)秀文章——《The Unreasonable Effectiveness of Recurrent Neural Networks》。如果你想了解更多關(guān)于用 Keras 或 tf·Keras 實(shí)現(xiàn) RNN 的信息,我們推薦 Francois Chollet 的 notebook。

Francois Chollet 的 notebook:https://github.com/fchollet/deep-learning-with-python-notebooks

示例 #2:DCGAN

在這個(gè)示例中,我們用 DCGAN 生成手寫數(shù)字。生成對(duì)抗網(wǎng)絡(luò)(GAN)由生成器和判別器組成。生成器的工作是生成逼真的圖像,以欺騙判別器。判別器的工作是在真圖像和偽圖像(由生成器生成)之間進(jìn)行分類。下面看到的輸出是在使用《Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks》一文中所述的網(wǎng)絡(luò)架構(gòu)和超參數(shù)訓(xùn)練生成器和判別器 150 個(gè) epoch 之后生成的。

示例 2 notebook:

https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/generative_examples/dcgan.ipynb

在 150 個(gè) epoch 中每 10 個(gè) epoch 生成一次圖像的 GIF。你可以在 notebook 中找到生成這種 GIF 的代碼。

示例#3:注意力神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯

這個(gè)示例訓(xùn)練模型將西班牙語(yǔ)句子翻譯成英語(yǔ)句子。模型訓(xùn)練好后,你可以輸入西班牙語(yǔ),例如「¿todavia estan en casa?」,并返回英文翻譯:「are you still at home?」

下圖是注意力圖。它顯示了翻譯時(shí),輸入句子的哪些部分會(huì)引起模型的注意。例如,當(dāng)模型翻譯「cold」這個(gè)詞時(shí),它正看著「mucho」,「frio」,「aqui」。我們使用 tf.keras 和 eager execution 從零開(kāi)始實(shí)現(xiàn) Bahdanau Attention,詳細(xì)解釋在 notebook 中。你還可以將此實(shí)現(xiàn)用作實(shí)現(xiàn)自定義模型的基礎(chǔ)。

示例 3 notebook:

https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/nmt_with_attention/nmt_with_attention.ipynb

上述翻譯的注意力圖。

示例 #4:注意力圖像標(biāo)注

在此示例中,我們訓(xùn)練模型用以預(yù)測(cè)圖像的標(biāo)題。我們還生成了一個(gè)注意力圖,它顯示了模型在生成標(biāo)題時(shí)所關(guān)注的圖像部分。例如,當(dāng)模型預(yù)測(cè)單詞「沖浪板」時(shí),它會(huì)聚焦在圖片中的沖浪板附近。我們使用 MS-COCO 數(shù)據(jù)集的子集訓(xùn)練該模型,該數(shù)據(jù)集將由 notebook 自動(dòng)下載。

示例 4 notebook:

https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/generative_examples/image_captioning_with_attention.ipynb

圖像的預(yù)測(cè)標(biāo)題。

上圖中每個(gè)單詞的注意力圖。

 

原文鏈接:

https://medium.com/tensorflow/complete-code-examples-for-machine-translation-with-attention-image-captioning-text-generation-51663d07a63d

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)文章,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專欄
相關(guān)推薦

2022-04-18 09:00:00

數(shù)據(jù)庫(kù)向量機(jī)器學(xué)習(xí)

2024-05-17 08:19:53

jackson數(shù)組切片

2018-06-27 10:10:34

APP評(píng)分彈窗蘋果

2022-06-21 09:27:01

PythonFlaskREST API

2020-11-11 07:09:05

隔離直播系統(tǒng)

2009-10-30 09:54:52

Internet接入

2012-02-01 15:41:42

2021-06-28 20:01:07

電腦性能Windows 7

2022-09-06 11:53:00

開(kāi)發(fā)計(jì)算

2022-02-17 17:19:31

鴻蒙語(yǔ)音識(shí)別語(yǔ)音播報(bào)

2023-01-04 10:24:42

2024-09-23 10:00:00

代碼Python

2022-12-27 08:43:18

系統(tǒng)思維設(shè)計(jì)思維創(chuàng)新

2023-06-28 06:33:37

2011-05-03 11:13:51

黑盒

2020-06-22 14:18:02

運(yùn)維架構(gòu)技術(shù)

2020-09-16 06:08:10

Linux文本比對(duì)代碼

2024-11-04 13:17:12

2019-01-23 10:11:43

Python爬蟲(chóng)IP

2022-02-06 00:02:43

Windows 11虛擬機(jī)微軟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)