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筆記18(Django之ORM(多對多))
方式 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
新手小白Linux(Centos6.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個元素,要求輸出陣列中的全部元素** 下標法