成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能 正文
    發私信給AI研習社-譯站
    發送

    0

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    本文作者: AI研習社-譯站 2018-07-25 10:55
    導語:在本文中,您將了解如何訓練一個快速的神經風格遷移模型,并在自己的 iOS 上使用,實現 Prisma 可以做到的事情。

    雷鋒網按:本文為雷鋒字幕組編譯的技術博客,原標題 Transforming Pictures with Neural Style Transfer in iOS,作者為 Navdeep Singh。

    翻譯 | 廖明月  吳桐  蔡雨萌    整理 |  凡江


    隨著 2012 年深度神經網絡在 ImageNetchallenge 比賽上以 AlexNet 模型獲勝,深度神經網絡開創了空前的高潮。AI 工程師已經將深度學習技術應用到越來越多的問題域,包括預訓練的深度美國有線電視新聞網模型。還有什么比創造藝術更富有創造力呢?

    一種已經提出并實施的想法,稱為「神經風格轉換」,允許你能夠利用預訓練的深度神經網絡模型,并將某一圖像的風格,例如或梵高或莫尼特的任何杰作,遷移到另一個圖像,例如你的個人資料圖片或你最喜歡的小狗的圖片,從而創造了一個混合你的圖片內容和名作風格的圖像。

    實際上有一個 iOS 應用程序稱為 Prisma,它贏得了 2016 年度最佳應用程序,就是這樣,它在短短幾秒鐘內,可以將你的圖片轉換成你所選擇的任何風格。

    在本文中,您將了解如何訓練一個快速的神經風格遷移模型,并在自己的 iOS 上使用,實現 Prisma 可以做到的事情。

    快速神經遷移模型的訓練

    在這一節中,按照以下步驟學習如何利用 TensorFlow 使用快速神經風格轉移算法來訓練模型:

    1. 在你的 Mac 終端或者最好是有著 GPU 驅動的 Ubuntu 上,運行 git clone 命令,復制鏈接 this Github repo,這是約翰遜快速風格遷移的一個很好的 TensorFlow 實現的分支,修改后經過訓練的模型允許在 iOS 或 Android 應用程序中使用。

    2. 運行 cd 命令 進入快速風格遷移目錄,然后運行 setup.sh 腳本來下載預訓練的 VGG-19 模型文件以及 MS COCO 訓練數據集。

    3. 運行以下命令,使用風格圖像 starry_night.jpg 和內容圖像 WW1.jPG,通過訓練創建檢查點文件:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    在圖像目錄中還有一些其他風格的圖像,你可以以此用來創建不同的檢查點文件。這里使用的 starry_night.jpg 風格圖像是梵高的一幅名畫:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    使用梵高的畫作作為風格圖片

    在 NVIDIA GTX 1070 GPU 驅動的 Ubuntu 下整個訓練需要大約五小時,當然在如果在 CPU 上會花更長的時間。

    4. 用文本編輯器打開 evaluate.py 文件,并將以下兩行代碼取消批注(第 158 和 159 行):

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    5. 運行以下命令建立一個新的檢查點,輸入圖像命名為 img_placeholder,轉移后的圖像命名為 preds:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    6. 運行以下命令創建一個 TensorFlow 圖文件并載入檢查點中的權重參數,這將創建一個約 6.7MB 的大小 .pb 文件:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    7. 假設你已擁有一個 /ft.file 目錄,將生成的 st_frozen.pb 文件復制到 /ft.file 目錄下,直接 cd 進入你的 TensorFlow 源代碼根目錄,如 ~/tensorflow-1.4.0,然后運行以下命令創建為 .pb 文件生成一個量化模型。

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    這將把固化圖文件的大小從 6.7 MB 縮減到 1.7 MB,它意味著如果你在 App 中為 50 個不同的風格載入了 50 個模型,增加的大小將會是 85 MB。

    以上就是利用一張風格圖像和輸入圖像訓練和量化一個快速神經風格遷移模型的全部步驟。你可以在 test_dir 目錄下檢查步驟三中生成的圖像,看一看風格遷移的效果。如果需要的話,你還可以試著玩一玩含超參數的模型,看一看那些不同的,很可能更好的風格遷移效果。代碼文件提供在 https://github.com/jeffxtang/fast-style-transfer/blob/master/docs.md#style 上。

    一個重要提示:當你在你的 iOS 或者 Android app 上使用這些模型之前,需要記錄下輸入圖像的精確寬度和高度值作為步驟五中 --in-path 的參數,iOS 或 Android 的代碼將會調用圖像的寬度和高度值(你很快就會看到是如何調用的),否則當你在 App 上運行這些模型的時候將會得到 Conv2DCustomBackpropInput: Size of out_backprop doesn't match computed 的錯誤提示。


    在 iOS 系統上添加和測試神經風格遷移模型

    第一件事是手動建立 TensorFlow 庫,如果你此前尚未安裝過這個庫。然后執行以下步驟就可以在你的 iOS App 上獲取 TensorFlow 支持和并添加神經風格遷移模型,并試運行你的 App。

    1. 如果你已經擁有了一個添加了 TensorFlow 手冊庫的 iOS app,可以跳過下面這一步。否則,創建一個新的基于 Objective-C 語言的 iOS app,比如可以命名它為 NeuralStyleTransfer,或者在已經存在的 app 中,在 PROJECT 下的 Build Settings 配置中創建一個新的自定義設置,名稱是 TENSORFLOW_ROOT,值為 $HOME/tensorflow-1.4.0,假定上面是你 TensorFlow 1.4.0 的安裝地址。然后在 TARGET 下的 Build Settings 配置中將 Other Linker Flags 設置如下:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    然后將 Header Search Paths 設置如下:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    2. 將 fst_frozen_quantized.pb 文件和幾個測試所用圖片拖放到你的工程文件夾中,在 https://github.com/PacktPublishing/Intelligent-Mobile-Projects-with-TensorFlow/tree/master/ch4/ios/NeuralStyleTransfer 中的 NeuralStyleTransfer app 文件夾中找到相同的 ios_image_load.mm 和 .h 文件,把它們復制到工程文件夾下。

    3. 將 ViewController.m 文件重命名為 ViewController.mm,把它和原 ViewController.h 文件替換為從上面的 GitHub 網址鏈接獲取中的 ViewController.h 和 .mm 文件。

    4. 在 iOS 模擬器中或者你的 iOS 設備中運行 App,你會看到一個狗圖片:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    5. 點擊選擇 Fast Style Transfer 選項,過幾秒鐘,你會看到一個帶有 starry night 風格的新圖片。

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    你可以很簡單的通過選擇你最喜歡的圖片作為風格圖片然后跟隨之前的步驟編譯帶有不同風格的其他模型。然后可以按照這段的步驟在你的 IOSapp 中使用模型。這里有使用 IOS 的詳細代碼。

    使用快速神經遷移模型回顧 iOS 代碼

    在 ViewController.mm 中包含許多重要的代碼片斷它在輸入圖片的預處理和轉移圖片的后處理中是獨特的。

    1. 兩個常量,wanted_width,wanted_height,作為圖片的高度和寬度定義為相同的值,這里的圖片就是步驟 5 中的 dog.jpg:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    2. iOS 的 dispatch 隊列是用來在 non-UI 線程加載和運行你的快速神經遷移模型并且在風格遷移后圖片生成了,以下為將圖片發送到 UI 線程的代碼:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    3. 定義浮點型 3 維張量用于轉換輸入圖片:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    4. 發送到 tensorflow Sess->Run 方法中的輸入節點名和輸出節點名與訓練模型的時候是相同的 :

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    5. 當模型運行完成并且返回輸出張量 (包含 0 到 255 的 RGB 值) 時,你需要調用 tensorToUIImage 通用函數把張量數據轉換為 RGB buffer:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    6. 現在,你可以把 buffer 轉化成 UIImage 實例在調整它的大小之前,以下為代碼:

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    如果你對這個主題感興趣,你可以使用 Jeff Tange 的書來研究更多的深度學習和強化學習 app。這本書包括超過 10 種 iOS,android 和 raspberry pi app 使用 tensorflow 來運行,使用 scratch 進行編譯,離線運行所有絢麗的 tensorflow 模型:從計算機視覺,語音合成到生成對抗網絡和類似于 Alphazero 的深度強化學習模型。

    原文鏈接:https://medium.com/@navdeepsingh_2336/transforming-pictures-with-neural-style-transfer-in-ios-6988b79b34ee

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    雷鋒網雷鋒網

    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

    手把手教你搭建能夠實現 Prisma 風格遷移效果的 iOS 酷炫應用

    分享:
    相關文章

    知情人士

    AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說