Comments (7)
例えばノイズ除去で4倍拡大の場合だと
noise_scaleで2倍 → scaleで2倍
の手順で処理します。
from waifu2x-caffe.
cuDNNを使っている場合に結果画像に少し差が出るとことがあると思います。
数値的には非常に小さな差*1なので見た目の違い少ないと思いますが、
たとえば、出力が100.4999...など100にするか101にするか迷う値があると、小さな差でもそこの丸め方が変わります。そういった値が出てくる確率も非常に小さいですが、たとえば1000x1000のRGB画像は3000000個という非常にたくさんの数値によって出来ているので、これくらい数があると数十個はそういった値が出てきます。
*1: 16bit画像でも差は最大で1だったので少なくとも1/65535以下だと思います。
もう少し詳細な話ですが、UpConvで使っているDeconvolutionはcuDNNには無い機能ですが、ConvolutionのForwardとBackwardを入れ替えることで実装できます。Torchやwaifu2x-caffeもこの実装だと思います。cuDNNはBackwardに非決定的なアルゴリズムがあるので*2、予測時にBackwardを使っていると予測結果も非決定的になってしまっているのだと思います。Deconvolutionのアルゴリズム選択で非決定的なものを選択しないようにすれば結果が変わらないようにできるかもしれませんが、確認はしていません。
*2: マニュアルにnon-deterministicと書いてあるもの。Atomic Operationを使っているかららしいです。(GPUのスレッドが終了する順によって演算の順序が変わるなど)
from waifu2x-caffe.
Upconvモデルの出力が毎回違う
@nagadomi さんが書いてくださったようにcuDNNを使っている場合は仕様です。
Upconvにnoise modelが入っていない
本家の実装ではupconv_7のnoiseモデルはvgg_7nのnoiseモデルを参照するようになっています。
しかし、waifu2x-caffeでは実装の都合上noise_scaleモデルの結果を縮小してノイズ除去の結果としています。
なので、Upconvにnoiseモデルが入っていないのは仕様です。
本家モデルの更新
そのうち更新しておきます。
RGB modelのnoise0はまだ入れてないようです
RGBモデルのノイズ除去レベル0はこちらの環境では問題なく動作していますが、具体的にどのファイルが不足しているのでしょうか?
デフォルトをupcovモデルに
検討しておきます。
モデルフォルダの階層
Windowsではシンボリックリンクが期待通り動作するのかわからないのと、僕は後方互換性維持を重視しているので変更の予定はありません。
CUIのコマンド変更
基本的には本家のコマンドと合わせるつもりなのと、後方互換性維持のため変更の予定はありません。
更新のログも、ちょっと照合し辛いです
具体的にどこが見づらいのでしょうか?
from waifu2x-caffe.
ご返事ありがとうございます。大体わかりました。
noise0が入ってないのは見間違いでした。すみません。
modelの更新について
具体的に言うと、更新コミットの情報です
例えばvgg_7のartのmodel 本家のほうが詳しく書いてて、
"Update pretrained models. support for yuv420 jpeg"
waifu2x-caffeでは"モデル更新"だけなので、同じかどうかが私にはちょっとわかりにくいです。
from waifu2x-caffe.
なるほど、コミットログの話でしたか。
モデルを更新するときは最新版のモデルでファイルを上書きして、差分が生じたら「モデル更新」としてコミットする、という手順を踏んでいます。
なので、それぞれのモデルの更新内容についてはさほど意識していません。(そもそも複数の更新内容を一括してコミットする場合もある)
あくまでコミット時に本家の最新版モデルと同期していれば良いという考えです。
というわけなのでコミットログの詳細についてはあまり期待しないでください…
from waifu2x-caffe.
わかりました、ありがとうございます。
もうご質問していただいた件ですが
waifu2x-caffeのUpConv modelの2倍を超える拡大率の場合はどのように処理されますか?
例えばnoise1で4倍拡大でしたら
RGB(vgg_7)modeでは確かに noise1で除去して→拡大→拡大 になるんですよね
UpConv modelの場合、私の理解が間違ってなければ、
拡大とノイズ除去を一斉に処理できるんですよね。
とすると、UpRGBmodelで同じくnoise1で4倍拡大でしたら
waifu2x-caffeはnoise1除去して→拡大→拡大
それとも noise_scale(noise1除去及び2倍拡大)→拡大 というフローでしょうか? (後者のほうがいいな気がするんです。)
from waifu2x-caffe.
ver 1.1.7でモデルの更新とデフォルトで使用するモデルの変更を行いました。
なのでこのIssueは閉じます。
from waifu2x-caffe.
Related Issues (20)
- Why the remaining time added 10 hours immediately? HOT 1
- [Feature Request] Auto pause when out of space
- 機能要望-比率維持
- A lot of "coil whine" HOT 2
- Program Bug Feedback HOT 2
- Waifu2x-Caffe is not opening/closing
- Waifu2x-caffe uses too much ram
- 【不具合】キャンセルを押してもすぐに終了されない。
- 【機能要望】メモリが不足時の動作
- 【不具合】Yモデルが開けない
- Write commandline Equivalent of selections from GUI
- Will waifu2x support FP16 precision Model?
- [Feature Request]Support .avif images, and new cudnn runtime library
- GUI crashes – how to enable (crash) log?
- More upscaling models? HOT 1
- How can I use CUDA on GTX 850M?
- Customize naming rules
- エラー: モデルファイルが開けませんでした HOT 1
- Program failed to run on P104-100 (8GB) but succedded on P106-100 (6GB)
- manga settings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from waifu2x-caffe.