風格遷移學習筆記

風格遷移大作業


學習規劃

  1. 跑通一份代碼!!!(done)
  2. 對照代碼、Blog和論文理解相應的算法過程
  3. 規劃下一步,修改代碼(done),實現預計功能(done)
  4. 調參,跑出較好

Problem Queue

  1. 算法和代碼對應?細化?(盡量搞吧。。。PPT/報告里講啥?
  2. 代碼修改?
  • 損失函權重參數、多張圖片風格漸變效果?
  • 損失函數形式
  • 本代碼的生成圖片的初始值是內容圖片,可以改成普通的白噪聲/突出重點的黑白輪廓圖/摳圖。實際上,將初始值設定為內容圖像,就是以這個作為迭代的起點,一定程度上掩蓋了迭代次數少的問題。
  • 融合2個以上的風格,跑個比較優美的風格過度效果?(掩蓋一下垃圾的圖片效果。
  • 可以參考:https://zhuanlan.zhihu.com/p/27512619 展示圖片效果。。
  • 只包含風格的圖像
  • 只包含內容的圖像
  • 玄學感受?風格圖片元素單一,不要過于復雜,最好不要有明顯的"主角"或者關鍵點,火?;內容圖像相反需要有明顯的”主角“和重點,大頭貼、肖像;初始化圖片需要對內容圖片做一些處理得到。。比如強調"主角",模糊甚至抹去背景,顏色重?
  1. 怎樣挑數據?
  • 參考網上一些以有的比較好的效果圖片,查找類似的圖片
  • 對照測試,需要跑出比較好的結果
  1. 把 GPU 版還是配好吧。。。 迭代次數增加10-20倍?從十幾個小時編程幾十分鐘。。。次數不夠跑不出好效果吧。。。是可以分組跑的,用上一次迭代的結果作為這一次迭代的初始值。

跑通一份代碼!!!

  1. 嘗試配置 win 下pycharm + tensorflow (done) anaconda 大法好
    Note:
  • 參考:https://blog.csdn.net/gongxsh00/article/details/81318404
  • python 版本與 anaconda 對應盡量最新
  • 激活虛擬環境,退出虛擬環境

    activate tensorflow
    deactivate

  • tansorflow 、pip 都更新到最新 :

    pip install --upgrade pip

  • pip 鏈接超時,可以在使用pip的時候加參數-i https://pypi.tuna.tsinghua.edu.cn/simple
  • 無權限更新,就開管理員
  • 大部分問題都是因為版本不對應
  • 注意目錄
  • 對應的 python 以及 python/scripts 要加入環境變量(多加沒壞處。
  • pycharm 版本改成最新的 (pycharm 有些奇怪的坑,盡量用 anaconda)
  • pip .ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (使用:pip install *** --default-timeout=1000)
  1. 找一份代碼、運行成功 (done)
    https://www.cnblogs.com/andrewwang/p/10836929.html
    https://blog.csdn.net/dcrmg/article/details/81269653
    https://blog.csdn.net/u010900574/article/details/53427544
    https://github.com/keras-team/keras
  2. 學會遠程使用服務器,調用老師提供的顯卡計算,配置環境 tensorflow 運行樣例代碼(done)

對照代碼、Blog和論文理解相應的算法過程

規劃下一步流程,修改代碼,實現預計功能

修改樣例代碼實現加入2個風格(done)

  • Modify1
parser.add_argument('style_reference_image_path_1', metavar='ref', type=str,help='Path to the style reference image_1.')
parser.add_argument('style_reference_image_path_2', metavar='ref', type=str,help='Path to the style reference image_2.')
  • Modify2
style_reference_image_path_1 = args.style_reference_image_path_1
style_reference_image_path_2 = args.style_reference_image_path_2
  • Modify3
style_reference_image_1 = K.variable(preprocess_image(style_reference_image_path_1))
style_reference_image_2 = K.variable(preprocess_image(style_reference_image_path_2))
  • Modify4
    后邊需要注意每個量的位置
input_tensor = K.concatenate([base_image,style_reference_image_1,style_reference_image_2,combination_image], axis=0)
  • Modify5
    combination_features由于4操作這里需要注意維數的變化
combination_features = layer_features[3, :, :, :]
  • Modify6
    修改損失函數(待修改)
for layer_name in feature_layers:layer_features = outputs_dict[layer_name]style_reference_features_1 = layer_features[1, :, :, :]combination_features = layer_features[3, :, :, :]sl = style_loss(style_reference_features_1, combination_features)loss += (style_weight / len(feature_layers)) * slstyle_reference_features_2 = layer_features[2, :, :, :]combination_features = layer_features[3, :, :, :]sl = style_loss(style_reference_features_2, combination_features)loss += (style_weight / len(feature_layers)) * sl

Note

  • 主要代碼可以根據 keras中文文檔 了解含義

  • 甚至并不用深入理解代碼。。。跟著感覺把代碼改了一下。。。莫名其妙代碼一遍改好。。。跑一下就把結果跑出來了。。。

轉載于:https://www.cnblogs.com/RRRR-wys/p/11010491.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248737.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248737.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248737.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Netty源碼分析第5章(ByteBuf)----第5節: directArena分配緩沖區概述

Netty源碼分析第5章(ByteBuf)---->第5節: directArena分配緩沖區概述 Netty源碼分析第五章: ByteBuf 第五節: directArena分配緩沖區概述 上一小節簡單分析了PooledByteBufAllocator中, 線程局部緩存和arean的相關邏輯, 這一小節簡單分析下directArena分配緩沖區的相關過程 …

uni-app(從零開始)

uni-app(從零開始) uni-app 是什么? uniapp 就是使用Vue.js技術開發所有前端框架的跨端框架uniapp 就是可以將一套代碼 發布到多個平臺 uniapp 和 Vue 的關系? uniapp是基于vue進行開發,繼承了Vue的特性和語法在開…

Remote desktop manager共享賬號

因為多個遠程機器,是會用了域賬號進行登錄的。而域賬號的密碼,三個月之后,密碼強制過期 添加一個新的entry,類型是Credential Entry,然后選擇用戶名/密碼 在remote desktop編輯的頁面,Credentials選擇Crede…

bzoj4403:序列統計

我好傻啊 題目 先來看看長度只能為\(n\)的情況 那么答案非常顯然是\(\binom{mn-1}{n}\) 其中\(mR-L1\) 因為我們要構造一個非降序列,顯然可能一個數會被選擇多次,組合非常不好做,于是我們可以把每一個數的下標加上其對應的下標那么現在的值域…

Mui常用的方法

中對話框 語法:mui.confirm 用法 mui.confirm("確認要切換角色?", "提示", btnArray, function(e) {if(e.index 1) {} else {}});組件名作用alert警告框confirm確認框prompt輸入對話框toast消息提示框(自動消失&#x…

sudo: pip:找不到命令

https://blog.csdn.net/fcku_88/article/details/84191288轉載于:https://www.cnblogs.com/xxswkl/p/11012709.html

java ListMapString,Object遍歷的方法

java List<Map<String,Object>遍歷的方法 public class Test {public static void main(String[] args) {List<Map<String, Object>> listMaps new ArrayList<Map<String, Object>>();Map<String, Object> map1 new HashMap<Strin…

vue如何更換網頁標簽的logo

Vue2 版本更換圖標 在我們項目的根目錄下面去添加或者替換 favicon.icon文件 找到我們的 build 文件夾下面的這兩個文件 進行如下配置 favicon: resolveApp(’./favicon.ico’) 刷新后發現并沒有什么效果 莫慌 最后一步 重啟項目 改變端口 如果重啟后還沒有起到作用的話就…

Java并發編程的藝術(十)——Java中的鎖(5)

1. LockSupport工具 1.1 LockSupport的作用 當需要阻塞或喚醒一個線程的時候&#xff0c;都會使用LockSupport工具類來完成相應工作。LockSupport定義了一組公共的靜態方法&#xff0c;這些方法提供了做基本的線程阻塞和喚醒功能。 1.2 LockSupport提供的阻塞和喚醒方法 方法描…

運動-模擬返回頂部

第一步&#xff1a;獲取底部的那個按鈕對象&#xff0c;默認的情況下那個按鈕對象是不可見的。可見的條件的是滾輪距離頂部有距離。 var oBtndocument.getElementById(btn1); 第二步&#xff1a;添加滾輪事件。 (1). 獲取滾輪距離頂部的距離。如果距離大于0&#xff0c;就將按鈕…

《JavaScript高級程序設計》筆記總結

在北京上班的我每天在上下班路上的時間總共是兩個半小時&#xff0c;為了充實這兩個多小時的時間&#xff0c;我便花了銀子換得了下面這個寶貝 本書內容&#xff08;引用書中前言&#xff09; 本書提供了JavaScript開發人員必須掌握的內容&#xff0c;全面涵蓋了JavaScript的…

Task執行多次

項目中&#xff0c;曾經出現過啟動時數據庫連接數瞬間增大&#xff0c;當時并沒有注意該問題。 后期&#xff0c;由于Task任務多次執行&#xff0c;才著手查看這個問題&#xff0c;經排查&#xff0c;由于tomcat中webapp配置多次&#xff0c;導致webapp被掃描多次&#xff08;配…

ES6 的新特性總結

ES6 的新特性總結 關于聲明變量 由 var 變成 let 和 const 區別&#xff1a; var聲明的變量會掛載到window上&#xff0c;let和const聲明的變量不會var聲明的變量存在變量提升&#xff0c;而let和const聲明的變量不存在變量提升let和const聲明的變量形成塊級作用域在同一作…

遞推(一):遞推法的基本思想

所謂遞推&#xff0c;是指從已知的初始條件出發&#xff0c;依據某種遞推關系&#xff0c;逐次推出所要求的各中間結果及最后結果。其中初始條件或是問題本身已經給定&#xff0c;或是通過對問題的分析與化簡后確定。 利用遞推算法求問題規模為n的解的基本思想是&#xff1a;當…

在vue中methods互相調用的方法

在vue中methods互相調用的方法 轉載于:https://www.cnblogs.com/macT/p/10212878.html

MUI H5+ 開發app基礎

加載子頁面(防止手機性能差,出現上下滑動卡頓) 其中 url 就是子頁面的路徑 id 為自定義 通常和頁面名稱一致頁面的跳轉和傳值 切記 如果使用mui組件內的底部導航跳轉的方式只能使用document獲取元素的id 頁面跳轉傳值 新頁面接收參數 頁面初始化 H5加載完畢 判斷某個元素中是…

對象

一、對象 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script type"text/javascript">/** JS中數據類型* String 字符串* Number 數值* Boolean 布爾值* Null 空值* Undefine…

uni-app 組件傳值

uni-app中的組件之間的傳值 我們將compontents中的test文件作為子組件 引入到index中使用 引入并使用 效果如下 父傳子 首先我們在父組件中使用子組件的標簽中去自定義title 在子組件中 通過props去接收并處理 效果如下&#xff1a; 子傳父 子組件中 設置一個按鈕…

JSP XML數據處理

JSP XML數據處理 當通過HTTP發送XML數據時&#xff0c;就有必要使用JSP來處理傳入和流出的XML文檔了&#xff0c;比如RSS文檔。作為一個XML文檔&#xff0c;它僅僅只是一堆文本而已&#xff0c;使用JSP創建XML文檔并不比創建一個HTML文檔難。 使用JSP發送XML 使用JSP發送XML內容…

Docker 圖形界面管理工具 -- Portainer

Portainer&#xff08;基于 Go&#xff09;是一個輕量級的管理界面&#xff0c;可讓您輕松管理Docker主機或Swarm集群。 Portainer的使用意圖是簡單部署。它包含可以在任何 Docker 引擎上運行的單個容器&#xff08;Docker for Linux 和 Docker for Windows&#xff09;。 Port…