Coder Social home page Coder Social logo

Comments (7)

lltcggie avatar lltcggie commented on July 25, 2024 1

例えばノイズ除去で4倍拡大の場合だと
noise_scaleで2倍 → scaleで2倍
の手順で処理します。

from waifu2x-caffe.

nagadomi avatar nagadomi commented on July 25, 2024

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.

lltcggie avatar lltcggie commented on July 25, 2024

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.

2ji3150 avatar 2ji3150 commented on July 25, 2024

ご返事ありがとうございます。大体わかりました。

noise0が入ってないのは見間違いでした。すみません。

modelの更新について
具体的に言うと、更新コミットの情報です

例えばvgg_7のartのmodel 本家のほうが詳しく書いてて、
"Update pretrained models. support for yuv420 jpeg"
waifu2x-caffeでは"モデル更新"だけなので、同じかどうかが私にはちょっとわかりにくいです。

from waifu2x-caffe.

lltcggie avatar lltcggie commented on July 25, 2024

なるほど、コミットログの話でしたか。
モデルを更新するときは最新版のモデルでファイルを上書きして、差分が生じたら「モデル更新」としてコミットする、という手順を踏んでいます。
なので、それぞれのモデルの更新内容についてはさほど意識していません。(そもそも複数の更新内容を一括してコミットする場合もある)
あくまでコミット時に本家の最新版モデルと同期していれば良いという考えです。
というわけなのでコミットログの詳細についてはあまり期待しないでください…

from waifu2x-caffe.

2ji3150 avatar 2ji3150 commented on July 25, 2024

わかりました、ありがとうございます。

もうご質問していただいた件ですが
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.

lltcggie avatar lltcggie commented on July 25, 2024

ver 1.1.7でモデルの更新とデフォルトで使用するモデルの変更を行いました。
なのでこのIssueは閉じます。

from waifu2x-caffe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.