1. 程式人生 > >pix2pix tensorflow試驗(GAN之影象轉影象的操作)

pix2pix tensorflow試驗(GAN之影象轉影象的操作)

GAN是一種典型的概率生成模型,其核心思想是:找出給定觀測資料內部的統計規律,並且能夠基於所得到的概率分佈模型,產生全新的,與觀測資料類似的資料

概率生成模型可以用於自然影象的生成。假設給定1000萬張圖片之後,生成模型可以自動學習到其內部分佈,能夠解釋給定的訓練圖片,並同時生成新的圖片。

與龐大的真實資料相比,概率生成模型的引數個數要遠遠小於資料的數量。因此,在訓練過程中,生成模型會被強迫去發現數據背後更為簡單的統計規律,從而能夠生成這些資料。

由於GAN這種無監督學習已經成為深度學習的新技術點,而且出來了很多應用,因此對GAN的一些應用進行逐步學習,其中影象到影象之間的轉換操作是一種典型的應用。因此對該技術進行學習操作。

本實驗主要參考程式碼為:https://github.com/affinelayer/pix2pix-tensorflow

(1)首先下載資料集,https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/,從這個網址上可以下載很多個經典的應用資料集。本文實驗只選用facades這個資料集,由於剩下原理都是一樣的。

(2)進行訓練

在程式pix2pix.py程式碼中,手動新增測試引數,本文只讓執行200次。

  # 訓練的時候的引數

#     a.input_dir = "/home/ndscbigdata/work/imgdata/facades/train"
#     a.mode = "train"
#     a.output_dir = "/home/ndscbigdata/work/imgdata/facades/ckt"
#     a.max_epochs=200
#     a.which_direction = "BtoA"

      


(3)進行測試

 # 測試的時候的引數
    a.input_dir = "/home/ndscbigdata/work/imgdata/facades/val"
    a.mode = "test"
    a.output_dir = "/home/ndscbigdata/work/imgdata/facades/facades_test"
    a.checkpoint="/home/ndscbigdata/work/imgdata/facades/ckt"

測試結果執行結果如圖所示:


測試結果截圖如下:可以看出生成效果還是相當不錯的,不過假如把訓練max_epochs設定大一些,可能效果更好。


具體的程式碼已經發布在github上:https://github.com/ndscigdata/tensorflow-pratice

相關推薦

pix2pix tensorflow試驗GAN影象影象操作

GAN是一種典型的概率生成模型,其核心思想是:找出給定觀測資料內部的統計規律,並且能夠基於所得到的概率分佈模型,產生全新的,與觀測資料類似的資料。 概率生成模型可以用於自然影象的生成。假設給定1000萬張圖片之後,生成模型可以自動學習到其內部分佈,能夠解釋給定的訓練圖

【LeetCode-面試算法經典-Java實現】【008-String to Integer (atoi) 字符串成整數

pre except tco ecif hid pan format 說明 elf 【008-String to Integer (atoi) (字符串轉成整數)】 【LeetCode-面試算法經典-Java實現】【全部題目文件夾索引】 原題

Python筆記18DjangoORM(多對多)

方式 The short erro edm 關聯對象 對象的關聯 .site views 一、ManyToManyField 1、class RelatedManager "關聯管理器"是在一對多或者多對多的關聯上下文中使用的管理器。 它存在於下面兩種情況: 外

安裝TensorFlow隨筆windows下Anaconda3+tensorflow1.11.0

背景: 已安裝18年最新版Anaconda3,5.3版本python 3.7 version,釋出於2018年9月28日 conda版本為4.5.11,準備安裝TensorFlow~   1.檢視conda版本 準備工作:提前新增好環境變數(不贅述),記得包括Ana

Git 深度學習填坑旅三分支branch、遠程操作

操作 完成後 啟用 remove branch word mil soft 文件的 0x01 分支branch依舊借用大表哥(@表元素)的圖很多時候,我們需要建立另一條分支來進行項目的獨立開發,當完成後再跟主流回合進行合並這個時候就要啟用分支branch功能 git b

從零開始搭建django前後端分離專案 系列五實戰excel流式匯出

專案中有一處功能需求是:需要在歷史資料查詢頁面進行查詢欄位的選擇,然後由後臺資料庫動態生成對應的excel表格並下載到本地。 如果檔案較小,解決辦法是先將要傳送的內容全生成在記憶體中,然後再一次性傳入Response物件中; 如果檔案較大時,我們可以考慮向HttpResponse傳遞一個迭代器,流式的向客

【React】錨點效果實現點選跳定位位置內含demo

錨點:超連結的一種形式,快速定位到想要看的位置,常用在文章目錄等位置。那麼問題來了React不支援原生錨點的書寫方式所以怎麼在React裡實現類似錨點的效果我的解題思路1.在 url裡 使用 anchor 引數2.頁面 解析 是否有anchor引數對應的id3.有對應id的話

react axios和ajax網路請求攔截session過期跳登入頁

網路請求攔截經常也可用到,比如在所有介面訊息請求頭部加上驗證資訊token之類的,或者介面報某類錯誤時統一處理。這裡主要用在請求介面時,判斷session是否過期,統一返回狀態碼區分,如果過期了跳轉登入頁重新登入 攔截axios部分 重新封裝axios請求

【LeetCode-面試演算法經典-Java實現】【114-Flatten Binary Tree to Linked List二叉樹單鏈表

原題   Given a binary tree, flatten it to a linked list in-place.   For example,   Given

hdu1231 最大連續子序列DP最大子序列和

和上一題一樣,只不過變為陣列。 #include <stdio.h> #include <string.h> #include <algorithm> using

Windows平臺安裝TensorFlow-GPU-CUDA 8.0 + CuDnn 6.0方法一

1 硬體要求Windows版本:Windows 7,Windows 8,Windows 10,Windows Server 12/16顯示卡版本:請對照NVIDIA提供的支援CUDA的顯示卡列表(CUDA GPUs)。顯示卡版本通過"系統屬性-裝置管理器-顯示介面卡"檢視。(

iOS_如何判斷是否安裝某個App並從另一個App中啟動該App未安裝跳到AppStore

轉載自:http://blog.csdn.net/delegate_m/article/details/51263059 非常感謝博主的分享 前言: 非越獄裝置,在你的應用裡無法知道系統安裝了什麼別的應用。  如果想要準確的通過程式控制和發現本地安裝的應用,目前

頁面跳——所跳頁面有display:none錨點跳不到

     今天遇到了一個難題,就是要從A頁面跳轉到B頁面的指定地方,但這個指定的地方又有個display:none;在網上找了一下解決的辦法一直沒有找到,或許是我搜索的關鍵詞不對吧!想了一小段時間後忽然靈光一閃,嘿嘿嘿!腦子裡蹦出一個自認為覺得好的點子。       眾所周

1.mysql學習筆記在命令行中的操作

style 登錄 left 多個數據庫 mysql 一個數據庫 weight 準備 ase 2018-07-28 mysql和oracle的不同點: 一個oracle就是一個數據庫。 而一個mysql中可以有多個數據庫 準備:登錄到數據庫 註意:每一個命令都要以分號結束

ACM-單向鏈表插入排序算法在原鏈表上操作

鏈表插入 lis urn else nod listnode 下一個 class ont 鏈接:https://www.nowcoder.com/questionTerminal/152bc6c5b14149e49bf5d8c46f53152b?toCommentId=1

新手小白LinuxCentos6.5部署java web項目mysql5.7安裝及相關操作

UNC cancel linux系統安裝 temporary tran sch statement current datadir 一、安裝   參考:https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yu

Git入門安裝及基礎命令列操作

一、安裝 1、Mac   在Mac中安裝Git的方法不止一種。最簡單的要數通過Xcode命令列工具。對於Mavericks(10.9)或更高版本的作業系統,當你第一次嘗試在終端執行git命令時,系統會自動檢查是否已安裝Git;如果未安裝,則會提示你安裝它。如果希望獲得更高的版本,也可以通過二進位制安裝程式

全排列-遞迴不含去重複的操作非DFS

import java.util.*; public class Quanpaifeidigui { public static void main(String args[]){ Scanner in=new Scanner(System.in); whil

C程式設計--指標用“ 函式 ”對“ 陣列 ” 進行操作

函式運算元組 說明:如果有一個實引數組,想要在函式中改變此陣列中的元素的值,實參與形參的對應關係有以下4種情況: 1、實參:陣列名 ;; 形參:陣列名 2、實參:陣列名 ;; 形參:指標變數 3、實參:指標變數;; 形參:指標變數 4、實參:指標變

C程式設計--指標對 “ 陣列 ” 進行輸入輸出操作

指標引用陣列元素 方法一、下標法 : 如a[i]形式 方法二、指標法 : 如*(a+i)、*(p+i)形式。其中a是陣列名,p是指向陣列元素的指標變數 ** 問題:有一個整形陣列a,有10個元素,要求輸出陣列中的全部元素** 下標法