接續
前篇今年最後一次學習日就用在觀看這個範例上了
這個範例是取一支540p的影片並向上放大成1080p
跟傳統線性內插一比還是有明顯差別
不過當然比不上A N I他們自研的FSR、DLSS、XeSS等等
免費範例加減看吧
這邊就省去Device初始化的步驟了,基本上跟上次的Hello World是一模一樣的
1. 圖片轉成張量
理所當然的一步,範例以compute shader完成
在儲存RGB時這邊檢查了是否為NHWC布局,本範例有偵測只要是NV卡就一定使用NHWC
2. 多層次的卷積運算
主要在於320~341這一段,這範例以NN縮放作為起點
最後把這殘差影像與NN縮放後的影像相加,完成了upscaling
這部分帶來了最大的效能損耗
3. 張量轉成圖片
一樣是根據布局來把張量轉回圖片
那麼看到這裡,可以理解DirectML主要是用來套用已經訓練過的模型
在建立卷積運算以及權重張量之前,它從weights.bin這個檔案讀取了所有的權重資料
Yare yare daze
身為一個ML小白,這邊的資訊量實在夠多了
如果分工合作,另一個同事專門做訓練,我來套用到繪圖端的話這樣也許就可以了
但是要原創什麼想法的話,不弄清楚那個weights.bin怎麼來的是不行的
明年的學習日目標看來很明確了,之後繼續來學訓練的過程是怎樣的~