Compare commits

...

243 Commits

Author SHA1 Message Date
lltcggie
807cfcb78f イタリア語の言語ファイルを追加 resolved #216 2024-06-19 23:07:47 +09:00
lltcggie
3812b90f68 cuDNNが使うランタイムよりCUDAランタイムのバージョンが古くないかのチェックを入れた 2020-09-05 16:49:04 +09:00
lltcggie
c365977a1e CUDAデバイスのCCチェックを3.5に更新 2020-09-05 16:30:18 +09:00
lltcggie
07daa3665c Update README.md 2020-09-05 16:27:28 +09:00
lltcggie
f69abf82ad CUDA Toolkitを11.0に更新、cuDNNをv8.0.3に更新 2020-09-05 16:25:18 +09:00
lltcggie
c8dde5eb0a
Merge pull request #198 from dakotagrvtt/master
English translation of README.md file
2020-09-05 13:08:42 +09:00
Dakota
df762ffb57 Fixed grammar, spelling, slight formatting issues 2020-07-02 15:57:22 -05:00
Dakota Gravitt
6cecabf248 Initial English translation of README.md 2020-06-30 16:28:19 -05:00
lltcggie
a7befd9c7f Update README.md 2020-06-28 02:52:05 +09:00
lltcggie
897ae1495f README.mdからcuDNNの項を削除
cuDNNのdllを同梱するようにするのでわざわざ説明する必要がなくなったため
2020-06-28 02:31:04 +09:00
lltcggie
b06dc530fe
Merge pull request #167 from 07pepa/addCzechTranslation
Added czech translation
2020-06-28 01:56:39 +09:00
lltcggie
e27bf60945
Merge branch 'master' into addCzechTranslation 2020-06-28 01:56:24 +09:00
lltcggie
e659ab3a43
Merge pull request #162 from AndreasWebdev/patch-1
German translation
2020-06-28 01:54:16 +09:00
lltcggie
4e44d4a13f LangList.txtの微妙な変更巻き戻し 2020-06-28 01:52:57 +09:00
lltcggie
0341ec63c1
Merge pull request #157 from ghost/master
Improved Spanish translation
2020-06-28 01:51:32 +09:00
lltcggie
735ac9762d LangList.txtの微妙な変更巻き戻し 2020-06-28 01:49:43 +09:00
lltcggie
bb2aaa8916 #165 韓国語の言語ファイルを更新 2020-06-28 01:48:08 +09:00
lltcggie
67306abc32 使用するcuDNNをv7.6に更新 2020-06-28 01:48:08 +09:00
lltcggie
d0dc6e6d23 CUDA Toolkitを10.2に更新 2020-06-28 01:48:08 +09:00
lltcggie
9127b28b55
Merge pull request #151 from simrafael/master
Added brazilian portuguese language
2020-06-28 01:46:37 +09:00
Andreas Heimann
dd7eae43f6
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 13:01:15 +02:00
Andreas Heimann
30e5845ac5
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:58:16 +02:00
Andreas Heimann
8b155e47f2
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:58:02 +02:00
Andreas Heimann
c0d9c20432
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:57:47 +02:00
Andreas Heimann
1d92873d70
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:57:38 +02:00
Andreas Heimann
698b5d8166
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:57:30 +02:00
Andreas Heimann
e7d72e255e
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:57:20 +02:00
Andreas Heimann
6e05cdd99a
Update bin/lang/german.json
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:57:09 +02:00
Andreas Heimann
7dc6a9f75f
Update bin/lang/LangList.txt
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:57:00 +02:00
Andreas Heimann
c091a557ec
Update bin/lang/LangList.txt
Co-Authored-By: Electron <electron@freakmail.de>
2019-08-01 12:56:45 +02:00
Josef Havránek
3fc9399a3f Added czech translation
Request for coments/merge
2019-04-18 14:56:36 +02:00
Andreas Heimann
daad1f358b added some proposed changes from @felixfrischeisen 2019-04-16 12:06:24 +02:00
Andreas Heimann
01c9e77009
Create german.json 2019-03-29 15:45:11 +01:00
Andreas Heimann
954535e3c0
add de_DE to langlist 2019-03-29 15:22:15 +01:00
Maximiliano Vildósola
14ebcea3ce Improved Spanish translation
Added an improved and more accurate Spanish translation.
2019-03-22 19:42:06 -03:00
simrafael
eabf35552d
Update LangList.txt
Changed portuguese.json to portuguese_brazilian.json.
2019-02-18 17:08:54 -03:00
simrafael
e681af17cb
Added portuguese_brazilian.json
Added translation for brazilian portuguese.
2019-02-18 17:05:00 -03:00
simrafael
0018275991
Update LangList.txt
Added portuguese language and adjusted spanish (it has spaces instead of separation with tab).
2019-02-18 16:57:36 -03:00
lltcggie
3f26c040f2 ノイズ除去と拡大でUpCUnetではなくCUnetが使われていたのを修正 resolved #141 2019-01-16 02:47:21 +09:00
lltcggie
cc711eb870 ノイズ除去だけの場合でもscale2.0x_modelを読み込んでいたバグを修正 2019-01-16 02:47:11 +09:00
lltcggie
991974a240
Merge pull request #140 from yoonhakcher/master
Update Chinese_Simplified.json
2019-01-16 02:21:13 +09:00
Johnny Yoon
90d7308ed4 Update Chinese_Simplified.json
简体中文更新
2018-12-04 12:45:49 +09:00
lltcggie
2608a2e85c
Update README.md 2018-12-01 18:15:17 +09:00
lltcggie
6a2d1e5813
Merge pull request #137 from yoonhakcher/master
Update Chinese_Simplified.json
2018-12-01 15:32:56 +09:00
lltcggie
c131ca38c4 GUIでモデルごとの分割サイズMod制限に引っかかった場合はエラーダイアログを出すようにした resolved #135
モデルによっては分割サイズがある数で割り切れないとエラーが起きるのでその対応
2018-12-01 15:25:41 +09:00
lltcggie
62c0f4bc71 コメント修正 2018-12-01 15:03:16 +09:00
lltcggie
cad223c7e5 サイズ指定の方のstImage::ShrinkImage()ではcv::INTER_AREAを全く使ってなかったのを修正
でもCUIでもGUIでもこの関数は使ってなかったから影響はない
2018-12-01 15:02:32 +09:00
lltcggie
20ad7ebd0b Poolingが強制的にcuDNNを使ってしまうのを修正 resolved #133 2018-12-01 14:45:38 +09:00
lltcggie
424542d3f7 CUDA無効で起動するbat追加 2018-12-01 14:43:00 +09:00
Johnny Yoon
e2fe0325ed Update Chinese_Simplified.json
简体中文改善
2018-11-30 14:04:08 +09:00
lltcggie
e5c310f851 noise_scaleとnoiseを両方持っているモデルに対応 2018-11-23 23:49:22 +09:00
lltcggie
8b53d0f086 各種コマンドラインオプションにcunet追加 resolved #132 2018-11-23 23:29:30 +09:00
lltcggie
0de94b6ff9
Update README.md 2018-11-23 23:22:34 +09:00
lltcggie
df0ceaea1e cuDNNのバージョンチェックの対象バージョンが古すぎたのを修正 resolved #111 2018-11-23 23:10:54 +09:00
lltcggie
bc6281ba7d ReleaseだとGUIで分割サイズがバグった値になるのを修正 2018-11-23 22:53:35 +09:00
lltcggie
1a3c0d323d CUnetでrecommended_crop_sizeの指定をやめた
そこまで出力に影響がない割りにrecommended_crop_sizeが大きすぎると動かない環境がでるし、小さすぎると遅くなるというジレンマを抱えていてめんどくさいから廃止
2018-11-23 22:47:01 +09:00
lltcggie
6e80372099 GUIでデフォルトのモデルを指定するようにした 2018-11-23 22:42:19 +09:00
lltcggie
d1ba0f1105 cunetのrecommended_crop_sizeをより多くのGPUで動かせるように減らした 2018-11-23 22:38:18 +09:00
lltcggie
b8c29d2aae GUIにCUnet追加 2018-11-23 22:29:11 +09:00
lltcggie
e9b146ac3a GUIでモデルの追加がもう少し楽になる構造にした 2018-11-23 22:17:25 +09:00
lltcggie
0add9fa2c9 cunetでノイズ除去用の設定を追加 2018-11-23 22:02:06 +09:00
lltcggie
0808ab9027 waifu2x v0.13.2のcunet、upcunetを取り込んだ
ただしcunetはupcunetと同じフォルダにあるせいで動かない
2018-11-23 18:36:53 +09:00
lltcggie
a96d22b4f4 cNet::LoadParameterFromJson()の不要なチェックを外した 2018-11-23 18:28:23 +09:00
lltcggie
7d1973c314 CUDAが使えない環境でCPUでUpResNet10を動作させるとクラッシュするのを修正 resolved #126 2018-10-25 20:57:45 +09:00
lltcggie
de6de69ac6 中国語(繁体字)の言語ファイル修正 resolved #119 2018-10-25 20:19:21 +09:00
lltcggie
e388e3a788 中国語(簡体字)の言語ファイル更新 resolved #37 2018-10-25 20:17:16 +09:00
lltcggie
125de0277c 英語の言語ファイル読み込みに失敗するのを修正 fixed #125 2018-10-25 20:11:44 +09:00
lltcggie
b08e61bda1
Update README.md 2018-10-25 05:22:20 +09:00
lltcggie
8823bb3a90 モデル変更時に推奨の分割サイズに戻すようにした 2018-10-25 05:15:35 +09:00
lltcggie
d7c9da5f2d
Update README.md 2018-10-25 05:00:49 +09:00
lltcggie
1428d36cee GUIでバッチサイズを設定できるようにした
CropSizeで出力が変わるモデルでCropSizeを変えずに高速化するため
2018-10-25 04:35:59 +09:00
lltcggie
6effe0dfaa モデルのおすすめのCropSizeを設定する機能追加、UpResNet10モデルにおすすめのCropSize設定
CropSizeによって出力が変わるモデル用の設定
2018-10-25 04:15:53 +09:00
lltcggie
a17ad89116 caffemodelとprototxtのみが存在してjsonとprototxt.protobinが存在しない状況でもエラーを吐かないようにした 2018-10-25 03:54:07 +09:00
lltcggie
b280d34413 UpResNet10モデル追加
モデルはwaifu2x-chainer v1.9.0のもの
2018-10-25 03:44:27 +09:00
lltcggie
c8090a6486 caffe更新 2018-10-25 03:36:25 +09:00
lltcggie
1e3c4796d8 UpResNet10のcaffemodelをwaifu2x-chainerのUpResNet10モデルから生成するスクリプト追加、生成したUpResNet10モデルとwaifu2x-chainerのUpResNet10モデルの出力を比較するスクリプト追加 2018-10-25 03:36:01 +09:00
lltcggie
65ad2de604 upresnet10_3.prototxt生成スクリプトが正しくないネットワークを吐き出していたのを修正、スクリプトのファイル名を変更 2018-10-25 03:34:27 +09:00
lltcggie
706ee0d32b UpResNet10のprototxtを作るスクリプト追加 2018-10-24 03:48:52 +09:00
lltcggie
ca223b2f00 CUDAアーキテクチャを指定するようにした 2018-10-18 00:35:18 +09:00
lltcggie
ccaaf677f7 ビルドエラー、リンクエラーになる箇所を修正 2018-10-17 23:16:03 +09:00
lltcggie
5fcbf4d657 コミット忘れ修正 2018-10-17 23:16:02 +09:00
lltcggie
5296d67a4e ビルド環境をVS2015に変更、依存ライブラリパス設定 2018-10-17 23:16:02 +09:00
lltcggie
76400950b2 依存ライブラリをサブモジュールに追加 2018-10-17 23:15:53 +09:00
lltcggie
520cc3b0cd Update README.md 2017-09-17 17:33:40 +09:00
lltcggie
3ce44ea66f cuDNN v7に更新 2017-09-17 17:26:13 +09:00
lltcggie
dd0ec0a302 Merge pull request #98 from Underforest/master
Add spanish language
2017-08-17 18:59:37 +09:00
Underforest
52a0c1da8e Update LangList.txt 2017-07-24 22:30:45 -07:00
Underforest
34e0f3ad2e whoops 2017-07-24 22:26:10 -07:00
Underforest
0084e7c991 Add Spanish strings 2017-07-24 22:25:22 -07:00
Underforest
60ef8838b3 refix w 2017-07-24 20:56:36 -07:00
Underforest
74e7be5626 Fixed format 2017-07-24 20:56:13 -07:00
Underforest
613278c595 Add spanish to language list 2017-07-24 20:54:38 -07:00
Underforest
8fedea3701 Update README.md 2017-07-24 20:48:03 -07:00
lltcggie
df60474d7b Merge pull request #97 from Akagase/master
Update README and russian.json
2017-07-21 00:33:44 +09:00
Akagase
fe44070761 Update russian.json 2017-07-13 10:21:11 +03:00
Akagase
948fd4083f Update README.md 2017-07-13 10:16:49 +03:00
lltcggie
7df39bff6a Merge pull request #90 from kenin0726/patch-6
Update korean.json
2017-05-27 17:26:26 +09:00
kenin0726
3a9ea9ee07 Update korean.json 2017-05-20 19:20:09 +09:00
lltcggie
da4f755c92 Update README.md 2017-05-15 00:04:41 +09:00
lltcggie
ddfc570ab7 cuDNNをv6に更新 2017-05-15 00:03:26 +09:00
lltcggie
aaa4328270 CUIでUNICODEでのビルドにも対応 2017-05-14 20:51:25 +09:00
lltcggie
c232046e23 tclapwの名前空間変更 2017-05-14 20:13:24 +09:00
lltcggie
da933de66d ビルドが通らなかったのを修正 2017-05-14 17:43:50 +09:00
lltcggie
eb2fa5ae4a Merge pull request #86 from Hikari-chin/master
誤植を直した
2017-05-14 17:40:13 +09:00
Hikari-chin
377f97cc0f 誤植を直した 2017-05-01 05:17:07 +00:00
lltcggie
c7d020639e 縦幅か横幅指定の拡大で、指定サイズから1pxくらいずれることがあるのを修正 #84 2017-04-29 12:41:42 +09:00
lltcggie
5b98bda53c 简体中文修正 2017-04-28 23:36:36 +09:00
lltcggie
76d9a09ff2 Update README.md 2017-04-16 21:23:41 +09:00
lltcggie
a4833df8b9 出力深度ビット数を入力で変更できないようにした 2017-04-16 21:20:38 +09:00
lltcggie
39e6d5198a GUIで縦幅サイズ指定にしても横幅の指定と認識されるバグを修正 #80 2017-04-16 21:10:15 +09:00
lltcggie
f81a5b7a6a 出力フォルダを選択するときにエラー落ちすることがあるバグを修正 #82 2017-04-16 21:07:01 +09:00
lltcggie
2b965ce07c Merge pull request #78 from Serized/master
Updated french translation + Changes in App Settings window
2017-04-10 00:15:26 +09:00
lltcggie
e3a57a3b1d Merge pull request #77 from slx7R4GDZM/patch-1
Remove some conjunctions
2017-04-09 23:56:29 +09:00
Serized
a65af828da Changes in 動作設定 window
I changed the width of some elements to use all the available space
2017-04-05 20:10:53 +02:00
Serized
777a6b2230 Changed back IDC_CHECK_TTA width
I had augmented the width of the checkbox too much, causing it to
overlap the containing box.
2017-04-05 19:37:57 +02:00
Serized
449aa8eb58 Add horizontal and vertical size label translation 2017-04-03 13:06:29 +02:00
slx7R4GDZM
8be2ae567f Remove some conjunctions
The use of polysyndeton looked strange on that sentence.
2017-04-02 14:00:11 -07:00
lltcggie
9074ac1a1a Update README.md 2017-04-02 23:00:29 +09:00
lltcggie
b270a16d46 Merge pull request #75 from Serized/master
French translation
2017-04-01 22:47:05 +09:00
Serized
1b64d0ebbd Add files via upload 2017-03-30 12:25:13 +02:00
Serized
5894d670dc Add french language to the list of translations 2017-03-30 11:10:42 +02:00
Serized
3e458430c1 Add french translation .json file 2017-03-30 11:09:38 +02:00
lltcggie
4a0d4b40b4 GUIの縦横サイズ指定の設定保存実装 2017-03-20 22:31:54 +09:00
lltcggie
86e5156a9d 縦横幅同時指定のコマンドラインオプション指定方法変更 2017-03-20 22:20:31 +09:00
lltcggie
da3d7e785a Update README.md 2017-03-20 22:11:57 +09:00
lltcggie
73da394996 CUIで出力のwidthとheightを同時に指定できるようにした 2017-03-20 22:09:59 +09:00
lltcggie
1a2777b884 Update README.md 2017-03-20 21:59:54 +09:00
lltcggie
c04ba8fd6c GUIで縦横サイズ指定追加 2017-03-20 21:58:05 +09:00
lltcggie
a9b91ad9f9 Merge pull request #66 from nagadomi/fix_tta
ノイズ除去のみのときにTTAが適用できないのを修正
2016-11-20 23:49:31 +09:00
nagadomi
c9efb9f9d0 ノイズ除去のみのときにTTAが適用できないのを修正 2016-11-15 00:47:47 +09:00
lltcggie
f160637e1a ロシア語修正 2016-10-16 21:51:00 +09:00
lltcggie
5ed4e1665e 简体中文修正 2016-10-15 17:40:31 +09:00
lltcggie
a7ea649352 Update README.md 2016-10-14 19:59:28 +09:00
lltcggie
726d708df6 cuDNNのバージョン表記を変更 2016-10-14 19:58:53 +09:00
lltcggie
8c85eb2358 アルファチャンネルが単色の場合、cv::INTER_NEARESTで拡大するようにした 2016-10-14 16:47:44 +09:00
lltcggie
522785ce33 CUDA 8.0に更新 2016-10-14 16:16:04 +09:00
lltcggie
7902dd6d2a Merge pull request #61 from lcy0321/master
Update Chinese_Traditional.json
2016-10-14 15:49:29 +09:00
LCY
dfe8b96bc2 Update Chinese_Traditional.json 2016-10-01 03:00:30 +08:00
lltcggie
2c0ed435c2 Merge pull request #56 from MasterPetrik/patch-3
added russian to langlist.txt
2016-09-24 12:49:25 +09:00
lltcggie
23919ef856 Merge pull request #55 from MasterPetrik/MasterPetrik-with-RU-translate
Created russian.json
2016-09-24 12:48:55 +09:00
lltcggie
bf609dcd4e Merge pull request #54 from MasterPetrik/patch-1
Update turkish.json
2016-09-24 12:47:38 +09:00
lltcggie
6483399593 Merge pull request #53 from MasterPetrik/patch-2
Update english.json
2016-09-24 12:47:08 +09:00
MasterPetrik
df197c8a2a added russian to langlist.txt
sorry for all that pull requests from me, I am not really understand how to use github
I'm here just first day
2016-09-24 06:04:24 +03:00
MasterPetrik
31a49dc889 Update english.json
found some broken symbols in english and turkish translations caused by 「 」symbols, in asian languages it works good but in european translations those symbols was broken, so I replaced them with [  ]
2016-09-24 05:52:42 +03:00
MasterPetrik
2b0f2e3aaf Update turkish.json
found some broken symbols in english and turkish translations caused by ? ?symbols, in asian languages it works good but in european translations those symbols was broken, so I replaced them with [  ]
2016-09-24 05:49:18 +03:00
MasterPetrik
dfa0a1c2e8 Created russian.json
Added russian translation
Translated by myself from English version
2016-09-24 05:09:12 +03:00
lltcggie
2fec4cab07 Update README.md 2016-09-11 14:11:13 +09:00
lltcggie
c7b4a6d4be crop_wとcrop_hが違う値の時にTTAをやると出力がおかしくなるバグを修正 #43 2016-09-11 14:06:32 +09:00
lltcggie
bb13740260 GUIにアイコン追加 2016-09-11 13:59:53 +09:00
lltcggie
f738c3c0c1 GUIの使用GPU Noの表示領域をさらに広げた 2016-08-21 23:44:24 +09:00
lltcggie
c736577abb Merge pull request #47 from kenin0726/patch-4
Update korean.json
2016-08-21 23:40:13 +09:00
lltcggie
5d10c2cb31 Merge branch 'master' of https://github.com/lltcggie/waifu2x-caffe 2016-08-21 23:39:06 +09:00
lltcggie
a3cfb09173 GUIの使用GPU Noの表示領域を広げた 2016-08-21 23:38:48 +09:00
kenin0726
940b887537 Update korean.json
翻訳のアープデートの以外にですが、韓国語で動作設定メニューをクリックすれば、’使用GPU No’が韓国語で'사용할 GPU 번호'でなっていますが、'사용할 GPU'でカットされて見えました。
この文字がカットされて見えないようにおねがいします。
2016-08-17 21:34:13 +09:00
lltcggie
32560c3d6d Merge pull request #44 from MylekGrey/master
英語のレベル0/1を修正
2016-08-16 17:42:00 +09:00
lltcggie
ae7bbac4cd Merge pull request #45 from nagadomi/fix_dll
DLL用APIで出力バッファを超えて書き込むことがある不具合を修正
2016-08-16 17:41:31 +09:00
nagadomi@nurs.or.jp
90284315e9 DLL用APIで出力バッファを超えて書き込むことがある不具合を修正 2016-08-15 19:32:23 +09:00
MylekGrey
1a3bee9158 英語のレベル0/1修正 2016-08-12 00:12:36 -05:00
lltcggie
00c9de2bd3 Update README.md 2016-08-03 01:26:45 +09:00
lltcggie
076b786cad Update README.md 2016-08-03 01:23:36 +09:00
lltcggie
b1f81a44c8 Upconvモデルを優先にした 2016-08-03 01:23:15 +09:00
lltcggie
4eb39ad48c モデルを更新 2016-08-03 01:05:59 +09:00
lltcggie
9f7639d5da GUIでノイズ除去レベルを0を変えても出力ファイル名が変化しないバグを修正 2016-08-03 00:57:02 +09:00
lltcggie
6120ed95f8 Merge pull request #42 from fireattack/patch-1
Update Chinese_Simplified.json
2016-08-03 00:52:31 +09:00
fireattack
db608bb45c Update Chinese_Simplified.json
Improved the translation
2016-07-31 02:54:53 -05:00
lltcggie
0a839120fb コマンドラインオプションでノイズ除去レベル0が指定できなかったバグを修正 2016-07-12 01:47:53 +09:00
lltcggie
c6ee2ddc3b 中国語(簡体字)訳が正しく表示されなかったのを修正 #40 2016-07-12 01:40:25 +09:00
lltcggie
d8a3564640 コメント追加 2016-07-11 00:40:47 +09:00
lltcggie
0c61e9814b Update README.md 2016-07-11 00:34:02 +09:00
lltcggie
406d5d2161 CUI版のノイズ除去レベルのデフォルト値も0に変更 2016-07-11 00:33:52 +09:00
lltcggie
a1f5ec8182 間違って追加していたモデル削除 2016-07-11 00:25:51 +09:00
lltcggie
88730e9677 caffe側の変更により終了関数を呼び出す必要がなくなったのでコメントアウト 2016-07-11 00:21:39 +09:00
lltcggie
3c0e229e93 GUIをノイズ除去レベル0に対応させた 2016-07-10 20:35:12 +09:00
lltcggie
0fd42af2c4 ノイズ除去レベル0モデルを追加 2016-07-10 20:22:46 +09:00
lltcggie
cd3c692fc2 dllの出力名を変更 2016-07-10 20:13:35 +09:00
lltcggie
4bee251c81 caffeのスレッド終了関数の呼び出しに対応 2016-07-10 20:09:46 +09:00
lltcggie
1656647163 GUI版でコマンドラインオプションでのcropの指定が動いていなかったのを修正 2016-07-10 20:08:22 +09:00
lltcggie
33776e5154 GUI版の入力参照ダイアログで大量のファイルを選択した場合、強制終了するバグを修正 #36 2016-07-09 14:51:05 +09:00
lltcggie
4d0ba78909 中国語(簡体字)翻訳と中国語(簡体字)の名称を更新 #37 2016-07-09 14:06:48 +09:00
lltcggie
117db316cc dllに新しいAPI追加 2016-07-09 02:27:59 +09:00
lltcggie
b880441b02 データを直接与えるAPIがうまく動かなかったのを修正 2016-07-08 23:35:51 +09:00
lltcggie
5514995215 縦幅指定拡大の動作が横幅指定と同じになっていたバグを修正 2016-07-08 22:02:12 +09:00
lltcggie
26cd687a65 Bitmapの読み込みはSTBIを優先させるようにした(32ビットBitmapをOpenCVで読み込むと画像がおかしくなるから) #35 2016-07-08 00:42:44 +09:00
lltcggie
a0c29c671b Update README.md 2016-07-07 01:39:17 +09:00
lltcggie
0e6e6779d1 Update README.md 2016-07-07 01:29:32 +09:00
lltcggie
d8e7f26e6f cuDNNのアルゴリズムデータ保存パスが意図しない物になることがあるのを修正 2016-07-07 01:25:04 +09:00
lltcggie
da104e7f3b Update README.md 2016-07-07 00:51:19 +09:00
lltcggie
5c5d14db75 GUI版で終了時にパラメータ欄のエラーメッセージが出ることがあるのを修正 2016-07-06 22:43:43 +09:00
lltcggie
aba4f717fb cuDNNのアルゴリズムデータ読み書きの例外対策 2016-07-06 22:33:09 +09:00
lltcggie
2ea99797c6 cuDNNのdllがない環境でGPUモードで実行すると強制終了するバグを修正 2016-07-06 21:30:02 +09:00
lltcggie
7f15cd6fb4 tclapwをコミットし忘れていたのを修正 #33 2016-07-06 21:13:53 +09:00
lltcggie
7fe5284079 Update README.md 2016-07-06 18:41:58 +09:00
lltcggie
72dacb36b3 cuDNN使用時の処理速度を更に高速化した
cuDNNの使用アルゴリズムが最速のものになるようにし、その結果を保存するようにした
2016-07-06 18:41:13 +09:00
lltcggie
92ca8db404 GUIでFatal Errorが発生した時に自分でメッセージを出すようにした 2016-07-06 14:32:38 +09:00
lltcggie
c4a8e4d6db CPUモードで実行すると強制終了するバグを修正 2016-07-06 12:27:03 +09:00
lltcggie
597e5b3164 使用するcuDNNのバージョン表記修正 2016-07-06 12:26:40 +09:00
lltcggie
f43c057150 各ネットワーク入力の初期サイズをcrop_size 128に適合するようにした 2016-07-05 01:48:53 +09:00
lltcggie
da773206bb Update README.md 2016-07-04 21:57:45 +09:00
lltcggie
816aa2a758 CUI版でcrop_w,crop_hオプション追加 2016-07-04 21:54:52 +09:00
lltcggie
943b7de3ed インデント修正 2016-07-04 21:46:33 +09:00
lltcggie
81b7f06dd0 GUI版でupconv_7_photoモデルに対応 2016-07-04 21:45:41 +09:00
lltcggie
77f5281bcb モデル追加、更新 2016-07-04 21:31:02 +09:00
lltcggie
31eb40e38b GUIで起動時にGUI部品の有効無効の設定がされていなかった箇所を修正 2016-07-04 01:24:27 +09:00
lltcggie
d11f22a98f batch_sizeを2以上にすると強制終了するバグを修正 2016-07-04 01:16:23 +09:00
lltcggie
387c66891a Merge pull request #31 from kenin0726/patch-3
Update korean.json
2016-07-03 22:56:36 +09:00
lltcggie
0e84bf116d Update README.md 2016-07-03 22:54:38 +09:00
lltcggie
6ffcde1263 GUIのコマンドラインの説明表示を少し手直し 2016-07-03 22:54:21 +09:00
lltcggie
fb7a47209c コマンドライン版の出力ファイル名自動生成の規則をGUI版と揃えた 2016-07-03 22:46:53 +09:00
lltcggie
a9ce01196c GUI以外もコンパイルできるようにした 2016-07-03 22:38:19 +09:00
lltcggie
485213433b Merge branch 'upconv'
# Conflicts:
#	bin/lang/english.json
#	bin/lang/japanese.json
#	common/waifu2x.cpp
#	common/waifu2x.h
#	waifu2x-caffe-gui/MainDialog.cpp
#	waifu2x-caffe-gui/Resource.rc
#	waifu2x-caffe-gui/resource.h
2016-07-03 22:23:54 +09:00
lltcggie
46e849b4fa Update README.md 2016-07-03 22:03:30 +09:00
lltcggie
6a33d9e184 upconv7のGUI上の略称を変更 2016-07-03 21:57:46 +09:00
lltcggie
f3bb4fe182 サイズ指定変換に対応 2016-07-03 21:55:20 +09:00
lltcggie
41fdf561d8 TTAモードが正常に動作しなかったバグを修正 2016-07-03 21:40:20 +09:00
lltcggie
6ea9a33fa5 Yモデルでアルファチャンネルが消失するバグを修正 2016-07-03 21:31:10 +09:00
lltcggie
330a68f8a3 Yモデルで強制終了するバグ修正 2016-07-03 21:23:02 +09:00
lltcggie
04a9fe915d crop_sizeが128より小さい時に強制終了するバグを修正 2016-07-03 20:56:00 +09:00
lltcggie
1e834f2c7b noise_scaleに対応 2016-07-03 17:41:27 +09:00
lltcggie
ebc71b317c モデル更新 2016-07-03 17:11:57 +09:00
lltcggie
48b8cab0c0 モデル更新 2016-07-03 15:54:58 +09:00
lltcggie
e88c4a4ca9 モデルを整理 2016-07-03 15:48:19 +09:00
lltcggie
9052df543f モデルの短縮名をinfo.jsonから取得するようにした 2016-07-03 15:36:32 +09:00
lltcggie
9fa4d905fd 設計が破綻していたので全面的に書きなおした 2016-07-03 15:07:20 +09:00
kenin0726
deae9af375 Update korean.json 2016-06-26 18:36:15 +09:00
lltcggie
cd3e17cdde Update README.md 2016-06-18 12:05:54 +09:00
lltcggie
1897e9210e Update README.md 2016-06-18 12:04:44 +09:00
lltcggie
509e393298 Update README.md 2016-06-08 11:16:32 +09:00
lltcggie
f976d5ef64 使用するGPUデバイスの指定に対応 #29 2016-06-08 11:11:36 +09:00
lltcggie
2b9781f4af 途中 2016-06-08 10:34:10 +09:00
lltcggie
e9c9651047 GUIもupconv_7_anime_style_art_rgbに対応(モデル選択の方法がコンボボックスになった) 2016-05-17 00:49:19 +09:00
lltcggie
0ba9cc962e 定義変更 2016-05-17 00:30:15 +09:00
lltcggie
1e77442f42 upconv_7に対応 2016-05-17 00:11:36 +09:00
lltcggie
1caa75ef4e 中国語(繁体字)訳を更新 2016-05-13 14:53:55 +09:00
lltcggie
aec2827219 中国語(簡体字)訳を更新 2016-05-11 23:37:44 +09:00
lltcggie
2e080bb41c OpenCVのパスを変更 2016-05-11 23:32:10 +09:00
lltcggie
a0a612eddb Update README.md 2016-05-11 18:51:55 +09:00
lltcggie
b9939f9ee9 韓国語訳を更新 2016-05-11 14:48:37 +09:00
lltcggie
3907ff99a8 中国語(繁体字)訳を更新 2016-05-11 14:47:10 +09:00
lltcggie
d278bc1dca コンパイル済みモデル更新 2016-05-07 23:55:09 +09:00
nagadomi
13870d225b Fix condition of eWaifu2xError_FailedParseModelFile 2016-05-07 23:50:45 +09:00
nagadomi
2dbf72d191 Update models for latest caffe master
waifu2x-caffe(CUI) works on ubuntu.

# Conflicts:
#	.gitignore
2016-05-07 23:50:23 +09:00
lltcggie
5a7ac06f52 Caffeを更新(cuDNN v5 RCに対応) 2016-05-07 23:48:02 +09:00
lltcggie
87f33b6f72 GUIで引数つき起動時に入力パスの認識に失敗することがあるバグを修正 2016-05-07 21:32:18 +09:00
179 changed files with 28415 additions and 2816 deletions

63
.gitattributes vendored Normal file
View File

@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

247
.gitignore vendored Normal file
View File

@ -0,0 +1,247 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
[Xx]64/
[Xx]86/
[Bb]uild/
bld/
[Bb]in/
[Oo]bj/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Un-comment the next line if you do not want to checkin
# your web deploy settings because they may include unencrypted
# passwords
#*.pubxml
*.publishproj
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Microsoft Azure ApplicationInsights config file
ApplicationInsights.config
# Windows Store app package directory
AppPackages/
BundleArtifacts/
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# LightSwitch generated files
GeneratedArtifacts/
ModelManifest.xml
# Paket dependency manager
.paket/paket.exe
# FAKE - F# Make
.fake/
*.caffemodel
*.protobin

10
.gitmodules vendored
View File

@ -4,3 +4,13 @@
[submodule "stb"]
path = stb
url = https://github.com/nothings/stb.git
[submodule "msgpack-c"]
path = msgpack-c
url = https://github.com/msgpack/msgpack-c
[submodule "caffe"]
path = caffe
url = https://github.com/lltcggie/caffe.git
branch = lltcggie/custom
[submodule "opencv"]
path = opencv
url = https://github.com/opencv/opencv.git

436
README-EN.md Normal file
View File

@ -0,0 +1,436 @@
waifu2x-caffe (for Windows)
----------
Author: lltcggie
This software uses only the conversion function of the image conversion software "[waifu2x](https://github.com/nagadomi/waifu2x)"
This software was rewritten using [Caffe](http://caffe.berkeleyvision.org/) and built for Windows.
It can be converted using CPU, but it can be converted faster than CPU by using CUDA (or cuDNN).
GUI supports English, Japanese, Simplified Chinese, Traditional Chinese, Korean, Turkish, Spanish, Russian, and French.
You can download the software from [the releases page](https://github.com/lltcggie/waifu2x-caffe/releases).
Requirements
----------
At least the following environment is required to run this software.
* OS: Windows Vista or later 64bit (There is no exe for 32bit)
* Memory: 1GB or more of free memory (however, this depends on the image size to be converted)
* GPU: NVIDIA GPU with Compute Capability 3.5 or higher
* Microsoft Visual C++ 2015 Redistributable Package Update 3 (x64 version) must be installed (Required)
- The above package is [here.](https://www.microsoft.com/ja-jp/download/details.aspx?id=53587)
- After pressing the `Download` button, select `vcredist_x64.exe` to download and install.
- If you can't find it, try searching with "Visual C++ 2015 Redistributable Package Update 3".
If you want to know the Compute Capability of your GPU, check it out on [this page](https://developer.nvidia.com/cuda-gpus).
How to use (GUI version)
--------
"Waifu2x-caffe.exe" is GUI software. Start by double-clicking.
Or, drag and drop the file or folder to "waifu2x-caffe.exe" with Explorer and the conversion will be performed with the settings at the last startup.
In that case, depending on the settings, if the conversion is successful, the dialog will be closed automatically.
You can also use the GUI to set options on the command line.
For details, see the section on command line options (common) and command line options (GUI version).
After starting, drag and drop an image or folder into the "Input path" field to automatically set the "Output path" field.
If you want to change the output destination, change the "Output path" column.
You can change the conversion settings to your liking.
## Input/output setting
Settings related to file input/output.
### Input path
Specify the path of the file you want to convert.
If you specify a folder, the files with the "extension to be converted in the folder"
including subfolders will be converted.
You can specify multiple files and folders by dragging.
In that case, the files are output in the new folder while maintaining the folder structure.
(In the input path column, "(Multi Files)" is displayed. The output folder name is generated
from the file and folder name that the mouse holds.)
When you click the browse button to select a file, you can select a single file, a folder, or multiple files.
### Output path
Specify the path to save the converted image.
When a folder is specified in "Input path", the converted file is saved in the specified folder (without changing the folder structure). If the specified folder does not exist, it will be created automatically.
### Extension to be converted in the folder
If the "Input path" is a folder, specify the extension of the image to be converted in the folder.
The default value is `png:jpg:jpeg:tif:tiff:bmp:tga`.
The delimiter is `:`.
Case does not matter.
Example.png:jpg:jpeg:tif:tiff:bmp:tga
### Output extension
Specify the format of the converted image.
The values that can be set for "Output image quality setting" and "Output depth bit rate" differ depending on the format specified here.
### Output quality setting
Specify the quality of the converted image.
The value that can be set is an integer.
The range and meaning of the values that can be specified depend on the format set in "Output extension".
* .jpg: Value range (0 to 100) The higher the number, the higher the image quality
* .webp: Range of values (1 to 100) The higher the number, the higher the image quality
* .tga: Value range (0 to 1) 0 means no compression, 1 means RLE compression
### Output depth bits
Specify the number of bits per channel of the converted image.
The value that can be specified depends on the format set in "Output extension".
## Conversion image quality/processing settings
Settings related to the file conversion processing method and image quality.
### Conversion mode
Specify the conversion mode.
* Noise reduction and magnification: Noise reduction and magnification are performed.
* Enlarge: Enlarge
* Noise removal: Performs noise removal
* Noise removal (automatic detection) and enlargement: Enlarge. Noise removal is also performed only when the input is a JPEG image
### JPEG noise removal level
Specify the noise reduction level. Higher levels remove noise more powerfully, but may result in a flatter picture.
### Enlarged size
Set the size after enlargement.
* Specified by enlargement ratio: Enlarges the image at the specified enlargement ratio
* Specified width after conversion: Enlarges to the specified width while maintaining the aspect ratio of the image (pixels)
* Specified height after conversion: Enlarges to the specified height while maintaining the aspect ratio of the image (pixels)
* Specify the width and width after conversion: Enlarges to the specified height and width. Specify as "1920x1080" (Unit is pixel)
For magnifications greater than 2x (only one time if removing noise is done the first time) Enlarges by 2x until the specified magnification is exceeded, and if the magnification is not a power of 2, shrinks last The process of doing is performed. Therefore, the conversion result may be a flat picture.
### Model
Specify the model to use.
The best model depends on the image to be converted, so we recommend that you try various models.
* 2D illustration (RGB model): 2D illustration model that converts all RGB of the image
* Photo/Anime (Photo model): Model for photo/animation
* 2D illustration (UpRGB model): A model that converts faster than 2D illustration (RGB model) with the same or higher image quality. However, the amount of memory (VRAM) that is consumed is larger than that of the RGB model, so adjust the division size if forced termination during conversion.
* Photo/animation (Up Photo model): A model that converts at higher speed than the photo/animation (Photo model) with the same or higher image quality. However, the amount of memory (VRAM) that is consumed is larger than that of the Photo model, so adjust the division size if it is forcibly terminated during conversion.
* 2D illustration (Y model): A model for 2D illustration that converts only the brightness of the image
* 2D illustration (UpResNet10 model): A model that converts with higher image quality than 2D illustration (UpRGB model). Note that this model will change the output result if the division size is different.
* 2D illustration (CUnet model): The model that can convert the 2D illustration with the highest image quality with the included model. Note that this model will change the output result if the division size is different.
### Use TTA mode
Specify whether to use TTA (Test-Time Augmentation) mode.
Using TTA mode, conversion is 8 times slower, but PSNR (one of the image evaluation indexes) is about 0.15.
## Processing speed setting
It is a group of setting items that affect the processing speed of image conversion.
### division size
Specify the width (pixel unit) when dividing and processing internally.
How to decide the optimum number (the process ends at the fastest) is explained in the section "Split size".
Separated by "-------", the upper one is the divisor of the vertical and horizontal size of the input image,
The lower one is a general division size read from "crop_size_list.txt".
If the partition size is too large, the amount of memory required (VRAM amount when using GPU) exceeds the memory available on the PC, and the software will be killed, so be careful.
Since it will affect the processing speed to some extent, when converting a large number of images with the same image size by specifying a folder, it is recommended to check the optimal division size before conversion.
However, be aware that depending on the model, the output result may change when the division size is changed.
(In that case, use the default split size and adjust the batch size to speed up processing.)
### Batch size
Specify the size when processing all at once internally.
Increasing the batch size may increase the processing speed.
Make sure that the amount of memory required, as well as the partition size, does not exceed the memory available on your PC.
## Operation setting
Settings that summarize the operation settings which are unlikely to be changed.
### Automatic conversion start setting at file input
Set whether to start the conversion automatically when the input file is specified by the reference button or drag and drop.
If the input file is given to exe as an argument, the setting contents of this item have no effect.
* Do not start automatically: Do not start conversion automatically when inputting a file
* Start after inputting one file: Start conversion automatically after inputting one file
* Start after inputting a folder or multiple files: Start conversion automatically when inputting a folder or multiple files. Single image file Convert files only when adjusting conversion settings
### Processor used
Specifies the processor that does the conversion.
* CUDA (cuDNN if available): CUDA(GPU) is used for conversion (cuDNN is used when cuDNN is available)
* CPU: Only CPU is used for conversion
### Do not overwrite output file
If this setting is ON, conversion will not be performed if a file with the same name exists in the image writing destination.
### Startup settings with arguments
Set the operation when an input file is given to exe as an argument.
* Convert at startup: Start conversion automatically at startup
* Exit on success: auto exit if not failed at the end of conversion
### Used GPU No.
You can specify the device number to use when there are multiple GPUs. Ignored when in CPU mode or when an invalid device number is specified.
### Fixed folder for input reference
The folder that is first displayed when you click the input reference button is fixed to the folder set here.
### Fixed folder when referencing output
The output destination folder of the converted image is fixed to the folder set here.
Also, the folder that is first displayed when you click the output reference button is fixed to the folder set here.
## Other
It is a group of other setting items.
### UI language
Set the UI language.
When starting up for the first time, the same language as the PC language setting is selected. (English if not present)
### cuDNN check
You can check if you can use cuDNN by clicking the "cuDNN check" button.
If cuDNN is not available, the reason will be displayed.
Click "Run" button to start conversion.
If you want to cancel while it is converting, click the "Cancel" button.
However, there is a time lag before it actually stops.
The progress bar shows the progress when changing multiple images.
The log shows the estimated remaining time, which is an estimate when processing multiple files with the same height and width.
Therefore, it is not useful when the size of the file is different, and when the number of images to be processed is 2 or less, only "Unknown" is displayed.
How to use (CUI version)
--------
"Waifu2x-caffe-cui.exe" is a command line tool.
Start a `command prompt`, type the command as follows, and press enter.
The following command prints usage information to the screen.
```
waifu2x-caffe-cui.exe --help
```
The following command is an example of commands that perform image conversion.
```
waifu2x-caffe-cui.exe -i mywaifu.png -m noise_scale --scale_ratio 1.6 --noise_level 2
```
After executing the above, the conversion result is saved in `mywaifu(noise_scale)(Level2)(x1.600000).png`.
For the command list and details of each command, refer to the section on command line options (common) and command line options (CUI version).
Command line options (common)
--------
With this software, the following options can be specified.
In the GUI version, if the command line option other than the input file is specified and started, the option file is not currently saved.
For the options not specified in the GUI version, the options at the time of the previous termination will be used.
### -l <string>, --input_extention_list <string>
When input_file is a folder, specify the extension of the image to be converted in the folder.
The default value is `png:jpg:jpeg:tif:tiff:bmp:tga`.
The delimiter is `:`.
Example.png:jpg:jpeg:tif:tiff:bmp:tga
### -e <string>, --output_extention <string>
Specifies the extension of the output image when input_file is a folder.
The default value is `png`.
### -m <noise|scale|noise_scale>, --mode <noise|scale|noise_scale>
Specify the conversion mode. If not specified, `noise_scale` is selected.
* noise: Performs noise reduction (to be exact, performs image conversion using a noise reduction model)
* scale: Enlarge (to be exact, after enlarging with the existing algorithm, perform image conversion using the model for enlarged image complement)
* noise_scale: Performs noise reduction and enlargement (after noise reduction, enlargement processing continues)
* auto_scale: Scales. Noise removal is also performed only when the input is a JPEG image
### -s <number with decimal point>, --scale_ratio <number with decimal point>
Specify how many times to enlarge the image. The default value is `2.0`, but you can specify a value other than 2.0.
If scale_width or scale_height is specified, that one has priority.
If you specify a number other than 2.0, the following processing is performed.
* First, repeat 2x enlargement to cover the specified magnification as necessary and sufficient.
* If a value other than a power of 2 is specified, the enlarged image will be reduced to the specified magnification.
### -w <integer>, --scale_width <integer>
Enlarges to the specified width while maintaining the aspect ratio of the image (in pixels).
If specified at the same time as scale_height, the image will be enlarged to have the specified width and height.
### -h <integer>, --scale_height <integer>
Enlarges to the specified height while maintaining the aspect ratio of the image (pixels).
If specified at the same time as scale_width, the image will be enlarged to have the specified width and height.
### -n <0|1|2|3>, --noise_level <0|1|2|3>
Specify the noise reduction level. As for the model for noise removal, only levels 0-3 are prepared, so
Please specify 0, 1 or 2 or 3.
The default value is `0`.
### -p <cpu|gpu|cudnn>, --process <cpu|gpu|cudnn>
Specifies the processor used for processing. The default value is `gpu`.
* cpu: Perform conversion using CPU.
* gpu: Convert using CUDA (GPU). For Windows version only, if cuDNN is available, use cuDNN.
* cudnn: Convert using cuDNN.
### -c <integer>, --crop_size <integer>
Specify the division size. The default value is `128`.
### -q <integer>, --output_quality <integer>
Set the image quality of the converted image. The default value is `-1`
The values that can be specified and their meanings depend on the format set in "Output extension".
If -1, the default value for each image format will be used.
### -d <integer>, --output_depth <integer>
Specify the number of bits per channel of the converted image. The default value is `8`.
The value that can be specified depends on the format set in "Output extension".
### -b <integer>, --batch_size <integer>
Specify the mini-batch size. The default value is `1`.
The mini-batch size is the number of blocks that the image is divided into by "division size" and processed at the same time. For example, if you specify `2`, it will be converted every 2 blocks.
When the mini-batch size is increased, the GPU usage rate increases as well as when the split size is increased, but if you feel it is measured, it is more effective to increase the split size.
(For example, if the split size is `64` and the mini-batch size is `4`, the split size is `128` and the mini-batch size is `1`.
### --gpu <int>
Specify the GPU device number used for processing. The default value is `0`.
Note that GPU device numbers start at 0.
Ignored if no GPU is used for processing.
If a GPU device number that does not exist is specified, it will be executed on the default GPU.
### -t <0|1>, --tta <0|1>
If you specify `1`, TTA mode is used. The default value is `0`.
### --, --ignore_rest
Ignores all options after this option is specified.
For script batch files.
Command line option (GUI version)
--------
In the GUI version, arguments that do not apply to the option specification are recognized as an input file.
Input files can be specified as files, folders, multiple files and folders at the same time.
### -o <string>, --output_folder <string>
Set the path to the folder where you want to save the converted images.
Save the converted file in the specified folder.
The conversion file naming convention is the same as the output file name that is automatically determined when the input file is set in the GUI.
If not specified, it will be saved in the same folder as the first input file.
### --auto_start <0|1>
If you specify `1`, the conversion will start automatically at startup.
### --auto_exit <0|1>
If you specify `1`, if conversion is successful at startup, it will end automatically if conversion is successful.
### --no_overwrite <0|1>
If you specify `1`, if there is a file with the same name in the image write destination, conversion will not be performed.
### -y <upconv_7_anime_style_art_rgb|upconv_7_photo|anime_style_art_rgb|photo|anime_style_art_y|upresnet10|cunet>, --model_type <upconv_7_anime_style_art_rgb|upconv_7_photo|anime_style_art_net_net_up_art_rg_net_style_art_rg_net_art_rg_
Specify the model to use.
The setting item “Model” on the GUI and the following we respond.
* upconv_7_anime_style_art_rgb: 2D illustration (UpRGB model)
* upconv_7_photo :Photo/Anime (UpPhoto model)
* anime_style_art_rgb: 2D illustration (RGB model)
* photo: Photo/animation (Photo model)
* anime_style_art_y: 2D illustration (Y model)
* upresnet10: 2D illustration (UpResNet10 model)
* cunet: 2D illustration (CUnet model)
Command line option (CUI version)
--------
### --version
Print version information and exit.
### -?, --help
Display usage information and exit.
Please use when you want to check how to use it easily.
### -i <string>, --input_file <string>
(Required) Path to the image to convert
When a folder is specified, all image files under that folder will be converted and output to the folder specified by output_file.
### -o <string>, --output_file <string>
The path to the file where you want to save the converted image
(when input_file is a folder) Path to the folder to save the converted image
(When input_file is an image file) Be sure to enter the extension (such as .png at the end).
If not specified, the file name is automatically determined and saved in that file.
The file name determination rule is
`[original image file name] ``(model name) ``(mode name) ``(noise reduction level (in noise reduction mode)) ``(magnification ratio (in magnification mode))'' (output (Number of bits (other than 8 bits)) ``.output extension`
It looks like.
The location to save is basically the same directory as the input image.
### --model_dir <string>
Specify the path to the directory where the model is stored. The default value is `models/cunet`.
The following models are included as standard.
* `models/anime_style_art_rgb`: 2D illustration (RGB model)
* `models/anime_style_art`: 2D illustration (Y model)
* `models/photo`: Photo/animation (Photo model)
* `models/upconv_7_anime_style_art_rgb`: 2D illustration (UpRGB model)
* `models/upconv_7_photo` :Photo/Anime (UpPhoto model)
* `models/upresnet10`: 2D illustration (UpResNet10 model)
* `models/cunet`: 2D illustration (CUnet model)
* `models/ukbench`: Old-fashioned photographic model (only the enlarged model is included, noise removal is not possible)
Basically, you don't have to specify it. Please specify it when using a model other than the default model or your own model.
### --crop_w <int>
Specify the division size (width). If not set, the value of crop_size will be used.
If you specify the divisor of the width of the input image, conversion may be faster.
### --crop_h <integer>
Specify the division size (vertical width). If not set, the value of crop_size will be used.
If you specify a divisor of the height of the input image, conversion may be faster.
Division size
--------
waifu2x-caffe (also waifu2x) converts images.
The image is divided into pieces of a certain size, converted one by one, and finally combined into a single image.
The division size (crop_size) is the width (in pixels) when dividing this image.
If the GPU is not exhausted even if it is converted with CUDA (the usage of the GPU is not close to 100%),
If you increase this number, the process may end sooner. (Because the GPU can be used up)
Please adjust it while seeing GPU Load (GPU usage rate) and Memory Used (VRAM usage rate) with [GPU-Z](http://www.techpowerup.com/gpuz/).
Also, refer to the following characteristics.
* Larger numbers do not necessarily mean faster
* If the division size is a divisor (or a number with a small remainder when divided) of the vertical and horizontal size of the image, the amount of wasteful calculation decreases and the speed increases. (In some cases, it seems that the numerical value that does not apply to this condition is the fastest.)
* If you double the number, theoretically the amount of memory used will be 4 times (actually it is 3 to 4 times), so be careful not to drop the software. Especially, CUDA consumes much more memory than cuDNN, so be careful.
About images with alpha channel
--------
This software also supports enlargement of images with alpha channel.
However, please note that it takes about twice as long as the image without alpha channel is enlarged because the process is to enlarge the alpha channel by itself.
However, if the alpha channel is composed of a single color, it can be expanded in about the same time as it was without.
The format of language files
--------
Language files format is JSON.
If you create new language file, add language setting to'lang/LangList.txt'.
'lang/LangList.txt' format is TSV(Tab-Separated Values).
* LangName: Language name
* LangID: Primary language [See MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693.aspx)
* SubLangID :Sublanguage [See MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693.aspx)
* FileName: Language file name
ex.
* Japanese LangID: 0x11(LANG_JAPANESE), SubLangID: 0x01(SUBLANG_JAPANESE_JAPAN)
* English(US) LangID: 0x09(LANG_ENGLISH), SubLangID: 0x01(SUBLANG_ENGLISH_US)
* English(UK) LangID: 0x09(LANG_ENGLISH), SubLangID: 0x02(SUBLANG_ENGLISH_UK)
Note
------------
This software is not guaranteed safe.
Please use it at the discretion of the user.
The creator does not assume any obligation.
Acknowledgment
------
The original [waifu2x](https://github.com/nagadomi/waifu2x) and model were produced and published under the MIT license [ultraist](https://twitter.com/ultraistter) Mr.
Created [waifu2x-converter](https://github.com/WL-Amigo/waifu2x-converter-cpp) based on the original waifu2x [Amigo](https://twitter.com/WL_Amigo) Mr. (I used to refer to how to write README and LICENSE.txt, how to use OpenCV)
[waifu2x-chainer](https://github.com/tsurumeso/waifu2x-chainer) was created to create the original model, and it was published under the MIT license [tsurumeso](https:// github.com/tsurumeso)
will be grateful to.
Also, @paul70078 for translating the message into English, @yoonhakcher for translating the message into Simplified Chinese, @mzhboy for the pull request for Simplified Chinese translation,
@Kenin0726 for translating the message into Korean, @aruhirin for suggesting improvements to the Korean translation,
@Lizardon1995 for translating messages in Traditional Chinese, @yoonhakcher, @Scharynche for pull request for Turkish translation, @Serized for pull request for French translation, Brazilian Portuguese @Simrafael for pull request for translation, @AndreasWebdev for pull request for German translation, @07pepa for pull request for Czech translation, @07pepa for pull request for Italian translation,
Thanks to JYUNYA for providing the GUI version of the icon.

240
README.md
View File

@ -1,4 +1,4 @@
waifu2x-caffe (for Windows)
waifu2x-caffe (for Windows)
----------
制作者 : lltcggie
@ -7,7 +7,9 @@
[Caffe](http://caffe.berkeleyvision.org/)を用いて書き直し、Windows向けにビルドしたソフトです。
CPUで変換することも出来ますが、CUDA(あるいはcuDNN)を使うとCPUより高速に変換することが出来ます。
GUI supports English and Japanese and Simplified Chinese and Traditional Chinese and Korean and Turkish.
GUI supports English, Japanese, Simplified Chinese, Traditional Chinese, Korean, Turkish, Spanish, Russian, and French.
ソフトのダウンロードは[こちらのreleasesページ](https://github.com/lltcggie/waifu2x-caffe/releases)の「Downloads」の項で出来ます。
要求環境
@ -17,61 +19,15 @@ GUI supports English and Japanese and Simplified Chinese and Traditional Chinese
* OS : Windows Vista以降 64bit (32bit用exeはありません)
* メモリ : 空きメモリ1GB以上 (ただし、変換する画像サイズによる)
* GPU : Compute Capability 2.0 以上のNVIDIA製GPU(CPUで変換する場合は不要)
* Visual C++ 2013 再頒布可能パッケージがインストールされていること(必須)
- 上記パッケージは[こちら](https://www.microsoft.com/ja-jp/download/details.aspx?id=40784)
* GPU : Compute Capability 3.5 以上のNVIDIA製GPU(CPUで変換する場合は不要)
* Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3(x64版)がインストールされていること(必須)
- 上記パッケージは[こちら](https://www.microsoft.com/ja-jp/download/details.aspx?id=53587)
- `ダウンロード` ボタンを押した後、`vcredist_x64.exe`を選択し、ダウンロード・インストールを行って下さい。
- 見つからない場合は、「Visual C++ 2013 再頒布可能パッケージ」で検索してみて下さい。
cuDNNで変換する場合はさらに
* GPU : Compute Capability 3.0 以上のNVIDIA製GPU
- 見つからない場合は、「Visual C++ 2015 再頒布可能パッケージ Update 3」で検索してみて下さい。
自分のGPUのCompute Capabilityが知りたい場合は[こちらのページ](https://developer.nvidia.com/cuda-gpus)で調べて下さい。
cuDNNについて
--------
cuDNNはNVIDIA製GPUでのみつかえる高速な機械学習向けのライブラリです。
cuDNNを使わなくてもCUDAで変換出来ますが、cuDNNを使うと以下のような利点があります。
* GPUと分割サイズの設定によっては大きな画像を少し高速に変換することが出来る(GPUによっては(最新に近いGPUほど)CUDAと全く差が無い)
* VRAMの使用量を減らすことが出来る(CUDAのおよそ9分の1)
このような利点があるcuDNNですが、ライセンスの関係上動作に必要なファイルを配布することが出来ません。
なので、cuDNNを使いたい人は[こちらのページ](https://developer.nvidia.com/cuDNN)でWindows向けバイナリ(v3以降)をダウンロードし、
「cudnn64_4.dll」をwaifu2x-caffeのフォルダに入れて下さい。
なお、ソフトを起動している最中にdllを入れた場合はソフトを起動しなおしてください。
(cuDNNをダウンロードするにはNVIDIA Developerへの登録とCUDA Registered Developersへの登録が必要です。
CUDA Registered Developersはおそらく(簡単な)審査があるっぽいので登録してもすぐにcuDNNをダウンロード出来るわけではありません。)
作者の環境での処理速度、VRAM使用量の計測結果は以下の通りです。
(処理時間は1回しか計っていないのでおまけです。VRAM使用量の方にご注目下さい)
GPU : GTX 660
VRAM : 2GB
処理内容 : 600*600の画像でイズ除去と拡大、JPEGイズ除去レベル1、拡大率2.00
CUDA
| 分割サイズ | 処理時間 | VRAM使用量(MB) |
|:-----------|:-------------|:---------------|
| 100 | 00:00:02.590 | 373 |
| 120 | 00:00:02.500 | 529 |
| 150 | 00:00:02.733 | 816 |
| 200 | 00:00:05.110 | 1229 |
cuDNN
| 分割サイズ | 処理時間 | VRAM使用量(MB) |
|:-----------|:-------------|:---------------|
| 100 | 00:00:02.532 | 42 |
| 120 | 00:00:02.423 | 58 |
| 150 | 00:00:02.343 | 87 |
| 200 | 00:00:02.331 | 149 |
使い方(GUI版)
--------
@ -87,10 +43,10 @@ cuDNN
好みに合わせて変換設定を変更することが出来ます。
##入出力設定
## 入出力設定
ファイルの入出力に関する設定項目群です。
###「入力パス」
### 「入力パス」
変換したいファイルのパスを指定します。
フォルダを指定した場合は、サブフォルダ内も含めた「フォルダ内の変換する拡張子」が付くファイルを変換対象とします。
複数のファイル、フォルダをドラッグで指定することが出来ます。
@ -98,22 +54,22 @@ cuDNN
(入力パス欄には「(Multi Files)」と表示されます。出力フォルダ名はマウスで掴んでいたファイル、フォルダ名から生成されます)
参照ボタンを押してファイルを選択する場合、単体のファイル、フォルダか、複数のファイルが選択できます。
###「出力パス」
### 「出力パス」
変換後の画像を保存するパスを指定します。
「入力パス」で フォルダを指定した場合は、指定したフォルダの中に変換したファイルを(フォルダ構造をそのままで)保存します。指定したフォルダがない場合は自動で作成します。
###「フォルダ内の変換する拡張子」
### 「フォルダ内の変換する拡張子」
「入力パス」がフォルダの場合の、フォルダ内の変換する画像の拡張子を指定します。
デフォルト値は`png:jpg:jpeg:tif:tiff:bmp:tga`です。
また、区切り文字は`:`です。
大文字小文字は区別しません。
例. png:jpg:jpeg:tif:tiff:bmp:tga
###「出力拡張子」
### 「出力拡張子」
変換後の画像の形式を指定します。
「出力画質設定」と「出力深度ビット数」に設定できる値はここで指定する形式により異なります。
###「出力画質設定」
### 「出力画質設定」
変換後の画像の画質を指定します。
設定できる値は整数です。
指定できる値の範囲と意味は「出力拡張子」で設定した形式により異なります。
@ -122,90 +78,105 @@ cuDNN
* .webp : 値の範囲(1100) 数字が高いほど高画質 100だと可逆圧縮
* .tga : 値の範囲(01) 0なら圧縮なし、1ならRLE圧縮
###「出力深度ビット数」
### 「出力深度ビット数」
変換後の画像の1チャンネルあたりのビット数を指定します。
指定できる値は「出力拡張子」で設定した形式により異なります。
##変換画質・処理設定
## 変換画質・処理設定
ファイル変換の処理方法、画質に関する設定項目群です。
###「変換モード」
### 「変換モード」
変換モードを指定します。
* ノイズ除去と拡大 : ノイズ除去と拡大を行います
* 拡大 : 拡大を行います
* ノイズ除去 : ノイズ除去を行います
* ノイズ除去(自動判別)と拡大 : 拡大を行います。入力がJPEG画像の場合のみイズ除去も行います
###「JPEGイズ除去レベル」
### 「JPEGイズ除去レベル」
ノイズ除去レベルを指定します。レベルの高いほうがより強力にノイズを除去しますが、のっぺりとした絵になる可能性もあります。
###「拡大サイズ」
### 「拡大サイズ」
拡大後のサイズの設定を行います。
* 拡大率で指定 : 画像を指定の拡大率で拡大します
* 変換後の横幅で指定 : 画像の縦横比を維持したまま、指定された横幅になるように拡大します(単位はピクセル)
* 変換後の縦幅で指定 : 画像の縦横比を維持したまま、指定された縦幅になるように拡大します(単位はピクセル)
* 変換後の縦横幅で指定 : 指定された縦横幅になるように拡大します。「1920x1080」のように指定します(単位はピクセル)
2倍を超える拡大率の場合、(イズを除去する場合は最初の1回だけ行い)指定された拡大率を超えるまで2倍ずつ拡大し、2の累乗倍でない拡大率の場合は最後に縮小するという処理を行います。そのため変換結果がのっぺりとした絵になる可能性があります。
###「モデル」
### 「モデル」
使用するモデルを指定します。
変換対象の画像によって最適なモデルは異なるので、様々なモデルを試してみることをおすすめします。
* 2次元イラスト(RGBモデル) : 画像のRGBすべてを変換する2次元イラスト用モデル
* 写真・アニメ(Photoモデル) : 写真・アニメ用のモデル
* 2次元イラスト(UpRGBモデル) : 2次元イラスト(RGBモデル)より高速かつ同等以上の画質で変換するモデル。ただしRGBモデルより消費するメモリ(VRAM)の量が多いので、変換中に強制終了する場合は分割サイズを調節すること
* 写真・アニメ(UpPhotoモデル) : 写真・アニメ(Photoモデル)より高速かつ同等以上の画質で変換するモデル。ただしPhotoモデルより消費するメモリ(VRAM)の量が多いので、変換中に強制終了する場合は分割サイズを調節すること
* 2次元イラスト(Yモデル) : 画像の輝度のみを変換する2次元イラスト用モデル
* 2次元イラスト(UpResNet10モデル) : 2次元イラスト(UpRGBモデル)より高画質で変換するモデル。このモデルは分割サイズが違うと出力結果が変わるので注意すること
* 2次元イラスト(CUnetモデル) : 2次元イラストを同梱のモデルで一番高画質で変換できるモデル。このモデルは分割サイズが違うと出力結果が変わるので注意すること
###「TTAモードを使う」
### 「TTAモードを使う」
TTA(Test-Time Augmentation)モードを使うかどうかを指定します。
TTAモードを使うと変換が8倍遅くなる代わりに、PSNR(画像の評価指数の一つ)が0.15くらい上がるそうです。
##処理速度設定
## 処理速度設定
画像変換の処理速度に影響する設定項目群です。
###「分割サイズ」
### 「分割サイズ」
内部で分割して処理を行う際の幅(ピクセル単位)を指定します。
最適な(処理が最速で終わる)数値の決め方は「分割サイズ」の項で説明します。
「-------」で区切られている上の方は入力された画像の縦横サイズの約数、
下の方は「crop_size_list.txt」から読み出した汎用的な分割サイズです。
分割サイズが大きすぎる場合、要求されるメモリの量(GPUを使う場合はVRAMの量)がPCで使用できるメモリを超えてソフトが強制終了するので気をつけてください。
処理速度にそれなりに影響するので、同じ画像サイズの画像をフォルダ指定で大量に変換するときは、最適な分割サイズを調べてから変換することをおすすめします。
ただし、モデルによっては分割サイズを変更すると出力結果が変わるものがあるので気を付けてください。
(その場合は分割サイズはデフォルトを使用し、バッチサイズを調整することで処理速度を上げることができます)
##動作設定
### 「バッチサイズ」
内部でまとめて処理を行う際のサイズを指定します。
バッチサイズを大きくすると処理速度が速くなることがあります。
分割サイズと同様に要求されるメモリの量がPCで使用できるメモリを超えないように気を付けてください。
## 動作設定
あまり変更する機会がないと思われる動作設定をまとめた設定群です。
###「ファイル入力時自動変換開始設定」
### 「ファイル入力時自動変換開始設定」
参照ボタンやドラッグアンドドロップで入力ファイルを指定した際に自動で変換を開始するのか設定を行います。
exeに入力ファイルを引数で与えた場合ではこの項目の設定内容は影響しません。
* 自動で開始しない : ファイルを入力しても自動で変換を開始しません
* ファイルを1つでも入力したら開始 : ファイルを1つでも入力したら自動で変換を開始します
* フォルダあるいは複数ファイルを入力したら開始 : フォルダ、複数ファイルを入力したら自動で変換を開始します。単体の画像ファイルを変換するのは変換設定の調節を行うときだけだ、という時にどうぞ
###「使用プロセッサー」
### 「使用プロセッサー」
変換を行うプロセッサーを指定します。
* CUDA(使えたらcuDNN) : CUDA(GPU)を使って変換を行います(cuDNNが使えるならcuDNNが使われます)
* CUDA(使えたらcuDNN) : CUDA(GPU)を使って変換を行います(cuDNNが使える場合はcuDNNが使われます)
* CPU : CPUのみを使って変換を行います
###「出力ファイルを上書きしない」
### 「出力ファイルを上書きしない」
この設定がONの場合、画像の書き込み先に同名のファイルが存在する場合は変換を行いません。
###「引数付き起動時設定」
### 「引数付き起動時設定」
exeに入力ファイルを引数で与えた場合での動作を設定します。
* 起動時に変換する : 起動時に自動で変換を開始します
* 成功時に終了する : 変換終了時に失敗していなければ自動で終了します
###「入力参照時固定フォルダ」
### 「使用GPU No」
GPUが複数枚ある場合に使用するデバイス番号を指定できます。CPUモード時や無効なデバイス番号を指定した場合は無視されます。
### 「入力参照時固定フォルダ」
入力の参照ボタンを押した際に最初に表示されるフォルダをここで設定したフォルダに固定します。
###「出力参照時固定フォルダ」
### 「出力参照時固定フォルダ」
変換した画像の出力先フォルダをここで設定したフォルダに固定します。
また、出力の参照ボタンを押した際に最初に表示されるフォルダをここで設定したフォルダに固定します。
##その他
## その他
その他の設定項目群です。
###「UIの言語」
### 「UIの言語」
UIの言語を設定します。
初回起動時はPCの言語設定と同じ言語が選ばれます。(存在しない場合は英語になります)
###「cuDNNチェック」
### 「cuDNNチェック」
「cuDNNチェック」ボタンを押すとcuDNNが使えるか調べることが出来ます。
cuDNNが使えない場合は理由が表示されます。
@ -245,71 +216,77 @@ waifu2x-caffe-cui.exe -i mywaifu.png -m noise_scale --scale_ratio 1.6 --noise_le
GUI版では入力ファイル以外のコマンドラインオプションを指定して起動した場合、現在オプションのファイル保存を行いません。
また、GUI版では指定されなかったオプションは前回終了時のオプションが使用されます。
###-l <文字列>, --input_extention_list <文字列>
### -l <文字列>, --input_extention_list <文字列>
input_fileがフォルダの場合の、フォルダ内の変換する画像の拡張子を指定します。
デフォルト値は`png:jpg:jpeg:tif:tiff:bmp:tga`です。
また、区切り文字は`:`です。
例. png:jpg:jpeg:tif:tiff:bmp:tga
###-e <文字列>, --output_extention <文字列>
### -e <文字列>, --output_extention <文字列>
input_fileがフォルダの場合の、出力画像の拡張子を指定します。
デフォルト値は`png`です。
###-m <noise|scale|noise_scale>, --mode <noise|scale|noise_scale>
### -m <noise|scale|noise_scale>, --mode <noise|scale|noise_scale>
変換モードを指定します。指定しなかった場合は`noise_scale`が選択されます。
* noise : ノイズ除去を行います (正確には、ノイズ除去用のモデルを用いて画像変換を行います)
* scale : 拡大を行います (正確には、既存アルゴリズムで拡大した後に、拡大画像補完用のモデルを用いて画像変換を行います)
* noise_scale : ノイズ除去と拡大を行います (ノイズ除去を行った後に、引き続き拡大処理を行います)
* auto_scale : 拡大を行います。入力がJPEG画像の場合のみイズ除去も行います
###-s <小数点付き数値>, --scale_ratio <小数点付き数値>
### -s <小数点付き数値>, --scale_ratio <小数点付き数値>
画像を何倍に拡大するかを指定します。デフォルト値は`2.0`ですが、2.0倍以外も指定できます。
scale_widthかscale_heightが指定された場合、そちらが優先されます。
2.0以外の数値を指定すると、次のような処理を行います。
* まず、指定された倍率を必要十分にカバーするように、2倍拡大を繰り返し行います。
* 2の累乗以外の数値が指定されている場合は、指定倍率になるように拡大した画像を線形フィルタで縮小します。
* 2の累乗以外の数値が指定されている場合は、指定倍率になるように拡大した画像を縮小します。
###-w <整数>, --scale_width <整数>
### -w <整数>, --scale_width <整数>
画像の縦横比を維持したまま、指定された横幅になるように拡大します(単位はピクセル)。
scale_heightと同時に指定することは出来ません
scale_heightと同時に指定すると、指定された縦横幅になるように画像を拡大します
###-h <整数>, --scale_height <整数>
### -h <整数>, --scale_height <整数>
画像の縦横比を維持したまま、指定された縦幅になるように拡大します(単位はピクセル)。
scale_widthと同時に指定することは出来ません
scale_widthと同時に指定すると、指定された縦横幅になるように画像を拡大します
###-n <1|2|3>, --noise_level <1|2|3>
ノイズ除去レベルを指定します。ノイズ除去用のモデルはレベル1とレベル2とレベル3のみ用意されているので、
1 か 2 か 3 を指定して下さい。
デフォルト値は`1`です。
### -n <0|1|2|3>, --noise_level <0|1|2|3>
ノイズ除去レベルを指定します。ノイズ除去用のモデルはレベル03のみ用意されているので、
0 か 1 か 2 か 3 を指定して下さい。
デフォルト値は`0`です。
###-p <cpu|gpu|cudnn>, --process <cpu|gpu|cudnn>
### -p <cpu|gpu|cudnn>, --process <cpu|gpu|cudnn>
処理に使うプロセッサーを指定します。デフォルト値は`gpu`です。
* cpu : CPUを使って変換を行います。
* gpu : CUDA(GPU)を使って変換を行います。Windows版でのみ、cuDNNが使えるならcuDNNを使います。
* cudnn : cuDNNを使って変換を行います。
###-c <整数>, --crop_size <整数>
### -c <整数>, --crop_size <整数>
分割サイズを指定します。デフォルト値は`128`です。
###-q <整数>, --output_quality <整数>
### -q <整数>, --output_quality <整数>
変換後の画像の画質を設定します。デフォルト値は`-1`です
指定できる値と意味は「出力拡張子」で設定した形式により異なります。
-1の場合は、各画像形式のデフォルト値が使われます。
###-d <整数>, --output_depth <整数>
### -d <整数>, --output_depth <整数>
変換後の画像の1チャンネルあたりのビット数を指定します。デフォルト値は`8`です。
指定できる値は「出力拡張子」で設定した形式により異なります。
###-b <整数>, --batch_size <整数>
### -b <整数>, --batch_size <整数>
mini-batchサイズを指定します。デフォルト値は`1`です。
mini-batchサイズは画像を「分割サイズ」で分割したブロックを同時に処理する数のことです。例えば`2`を指定した場合、2ブロックずつ変換していきます。
mini-batchサイズを大きくすると分割サイズを大きくするとの同様にGPUの使用率が高くなりますが、計測した感じだと分割サイズを大きくした方が効果が高いです。
(例えば分割サイズを`64`、mini-batchサイズを`4`にするより、分割サイズを`128`、mini-batchサイズを`1`にした方が処理が速く終わる)
###-t <0|1>, --tta <0|1>
### --gpu <整数>
処理に使うGPUデバイス番号を指定します。デフォルト値は`0`です。
GPUデバイス番号は0から始まることに注意してください。
処理にGPUを使わない場合は無視されます。
また、存在しないGPUデバイス番号を指定した場合はデフォルトのGPUで実行されます。
### -t <0|1>, --tta <0|1>
`1`を指定するとTTAモードを使用します。デフォルト値は`0`です。
###--, --ignore_rest
### --, --ignore_rest
このオプションが指定された後の全てのオプションを無視します。
スクリプト・バッチファイル用です。
@ -320,61 +297,79 @@ GUI版では入力ファイル以外のコマンドラインオプションを
GUI版ではオプション指定に当てはまらなかった引数は入力ファイルとして認識されます。
入力ファイルはファイル、フォルダ、複数、ファイルとフォルダ同時に指定できます。
###-o <string>, --output_folder <string>
### -o <string>, --output_folder <string>
変換された画像を保存するフォルダへのパスを設定します。
指定されたフォルダの中に変換後のファイルを保存します。
変換後のファイルの命名規則はGUIで入力ファイルを設定した時に自動で決定される出力ファイル名と同じです。
指定されなかった場合、ひとつ目の入力ファイルと同じフォルダに保存されます。
###--auto_start <0|1>
### --auto_start <0|1>
`1`を指定すると起動時に自動で変換を開始します。
###--auto_exit <0|1>
### --auto_exit <0|1>
`1`を指定すると、起動時に自動で変換した場合に変換が成功すると自動で終了します。
###--no_overwrite <0|1>
### --no_overwrite <0|1>
`1`を指定すると、画像の書き込み先に同名のファイルが存在する場合は変換を行いません。
###-y <anime_style_art_rgb|photo|anime_style_art_y>, --model_type <anime_style_art_rgb|photo|anime_style_art_y>
### -y <upconv_7_anime_style_art_rgb|upconv_7_photo|anime_style_art_rgb|photo|anime_style_art_y|upresnet10|cunet>, --model_type <upconv_7_anime_style_art_rgb|upconv_7_photo|anime_style_art_rgb|photo|anime_style_art_y|upresnet10|cunet>
使用するモデルを指定します。
GUIでの設定項目「モデル」と以下のように対応しています。
* upconv_7_anime_style_art_rgb : 2次元イラスト(UpRGBモデル)
* upconv_7_photo : 写真・アニメ(UpPhotoモデル)
* anime_style_art_rgb : 2次元イラスト(RGBモデル)
* photo : 写真・アニメ(Photoモデル)
* anime_style_art_y : 2次元イラスト(Yモデル)
* upresnet10 : 2次元イラスト(UpResNet10モデル)
* cunet : 2次元イラスト(CUnetモデル)
コマンドラインオプション(CUI版)
--------
###--version
### --version
バージョン情報を出力し、終了します。
###-?, --help
### -?, --help
使い方を表示し、終了します。
手軽に使い方を確認したい時などにどうぞ。
###-i <文字列>, --input_file <文字列>
### -i <文字列>, --input_file <文字列>
(必須) 変換する画像へのパス
フォルダを指定した場合、そのフォルダ以下の画像ファイルを全て変換してoutput_fileで指定したフォルダへ出力します。
###-o <string>, --output_file <string>
### -o <string>, --output_file <string>
変換された画像を保存するファイルへのパス
(input_fileがフォルダの場合)変換された画像を保存するフォルダへのパス
(input_fileが画像ファイルの場合)拡張子(最後の.pngなど)は必ず入力するようにして下さい。
指定しなかった場合は自動でファイル名を決定し、そのファイルに保存します。
ファイル名の決定ルールは、
`[元の画像ファイル名]``(モード名)``(ノイズ除去レベル(ノイズ除去モードの場合))``(拡大率(拡大モードの場合))``.出力拡張子`
`[元の画像ファイル名]``(モデル名)``(モード名)``(ノイズ除去レベル(ノイズ除去モードの場合))``(拡大率(拡大モードの場合))``(出力ビット数(8ビット以外の場合))``.出力拡張子`
のようになっています。
保存される場所は、基本的には入力画像と同じディレクトリになります。
###--model_dir <文字列>
モデルが格納されているディレクトリへのパスを指定します。デフォルト値は`models/anime_style_art_rgb`です。
### --model_dir <文字列>
モデルが格納されているディレクトリへのパスを指定します。デフォルト値は`models/cunet`です。
標準では以下のモデルが付属しています。
* `models/anime_style_art_rgb` : RGBすべてを変換する2次元画像用モデル
* `models/anime_style_art` : 輝度のみを変換する2次元画像用モデル
* `models/ukbench` : 写真用モデル(拡大するモデルのみ付属しています。ノイズ除去は出来ません)
* `models/anime_style_art_rgb` : 2次元イラスト(RGBモデル)
* `models/anime_style_art` : 2次元イラスト(Yモデル)
* `models/photo` : 写真・アニメ(Photoモデル)
* `models/upconv_7_anime_style_art_rgb` : 2次元イラスト(UpRGBモデル)
* `models/upconv_7_photo` : 写真・アニメ(UpPhotoモデル)
* `models/upresnet10` : 2次元イラスト(UpResNet10モデル)
* `models/cunet` : 2次元イラスト(CUnetモデル)
* `models/ukbench` : 旧式の写真用モデル(拡大するモデルのみ付属しています。ノイズ除去は出来ません)
基本的には指定しなくても大丈夫です。デフォルト以外のモデルや自作のモデルを使用する時などに指定して下さい。
### --crop_w <整数>
分割サイズ(横幅)を指定します。設定しなかった場合はcrop_sizeの値が使用されます。
入力する画像の横幅の約数を指定するとより高速に変換できる可能性があります。
### --crop_h <整数>
分割サイズ(縦幅)を指定します。設定しなかった場合はcrop_sizeの値が使用されます。
入力する画像の縦幅の約数を指定するとより高速に変換できま可能性があります。
分割サイズ
--------
@ -383,13 +378,13 @@ waifu2x-caffe(waifu2xもですが)は画像を変換する時、
分割サイズ(crop_size)とは、この画像を分割する際の幅(ピクセル単位)の事です。
CUDAで変換中でもGPUを使い切れていないGPUの使用率が100%近くまでいっていない)場合、
この数値を大きくすることでGPUを使い切ることが出来る様になるため処理が早く終わる可能性があります。
この数値を大きくすることで処理が早く終わる可能性があります。GPUを使い切ることが出来る様になるため
[GPU-Z](http://www.techpowerup.com/gpuz/)などでGPU Load(GPU使用率)とMemory Used(VRAM使用率)を見ながら調節してみて下さい。
また、以下の様な特性があるので参考にして下さい。
* 必ずしも数値が大きければ大きいほど速くなるわけでは無い
* 分割サイズが画像の縦横サイズの約数(あるいは割ったときに余りが少ない数)だと、無駄に演算する量が減って速くなる。 (この条件にあまり当てはまらない数値が最速になるケースもあるらしい?)
* 数値を2倍にした場合、使用するメモリ量は4倍になる(実際は34倍といったところ)のでソフトが落ちないように注意。特にCUDAはcuDNNに比べてメモリの消費量がとても多いので気をつけること
* 数値を2倍にした場合、理論上は使用するメモリ量は4倍になる(実際は34倍といったところ)のでソフトが落ちないように注意。特にCUDAはcuDNNに比べてメモリの消費量がとても多いので気をつけること
アルファチャンネル付き画像について
@ -397,6 +392,7 @@ CUDAで変換中でもGPUを使い切れていないGPUの使用率が100%近
本ソフトではアルファチャンネル付き画像の拡大も対応しています。
しかし、アルファチャンネルを単体で拡大する処理になっているため、アルファチャンネル付き画像の拡大は無い場合と比べておよそ2倍の時間がかかるので注意してください。
ただし、アルファチャンネルが単色で構成されている場合はなしの場合とほぼ同じ時間で拡大できます。
The format of language files
@ -428,9 +424,11 @@ ex.
謝辞
------
オリジナルの[waifu2x](https://github.com/nagadomi/waifu2x)、及びモデルの制作を行い、MITライセンスの下で公開して下さった [ultraist](https://twitter.com/ultraistter)さん、
オリジナルのwaifu2xを元に[waifu2x-converter](https://github.com/WL-Amigo/waifu2x-converter-cpp)を作成して下さった [アミーゴ](https://twitter.com/WL_Amigo)さん(READMEやLICENSE.txtの書き方、OpenCVの使い方等かなり参考にさせていただきました)
に、感謝します。
また、メッセージを英訳してくださった @paul70078 さん、メッセージを中国語(簡体字)に翻訳してくださった @yoonhakcher さん、中国語(簡体字)訳のプルリクエストを下さった @mzhboy さん、
メッセージを韓国語に翻訳してくださった @kenin0726 さん、韓国語訳の改善を提案してくださった @aruhirin さん、
メッセージを中国語(繁体字)に翻訳してくださった @lizardon1995 さん、@yoonhakcher さん、トルコ語訳のプルリクエストを下さった @Scharynche さん に感謝します。
オリジナルの[waifu2x](https://github.com/nagadomi/waifu2x)、及びモデルの制作を行い、MITライセンスの下で公開して下さった [ultraist](https://twitter.com/ultraistter)さん、
オリジナルのwaifu2xを元に[waifu2x-converter](https://github.com/WL-Amigo/waifu2x-converter-cpp)を作成して下さった [アミーゴ](https://twitter.com/WL_Amigo)さん(READMEやLICENSE.txtの書き方、OpenCVの使い方等かなり参考にさせていただきました)
[waifu2x-chainer](https://github.com/tsurumeso/waifu2x-chainer)を作成してオリジナルのモデルの制作を行い、MITライセンスの下で公開して下さった[tsurumeso](https://github.com/tsurumeso)さん
に、感謝します。
また、メッセージを英訳してくださった @paul70078 さん、メッセージを中国語(簡体字)に翻訳してくださった @yoonhakcher さん、中国語(簡体字)訳のプルリクエストを下さった @mzhboy さん、
メッセージを韓国語に翻訳してくださった @kenin0726 さん、韓国語訳の改善を提案してくださった @aruhirin さん、
メッセージを中国語(繁体字)に翻訳してくださった @lizardon1995 さん、@yoonhakcher さん、トルコ語訳のプルリクエストを下さった @Scharynche さん、フランス語訳のプルリクエストを下さった @Serized さん、ブラジルポルトガル語訳のプルリクエストを下さった @simrafael さん、ドイツ語訳のプルリクエストを下さった @AndreasWebdev さん、チェコ語訳のプルリクエストを下さった @07pepa さん、イタリア語訳のプルリクエストを下さった @AndryGabry01 さん、
GUI版のアイコンを提供してくださった JYUNYAさん に感謝します。

View File

@ -0,0 +1,63 @@
import os
import os.path as osp
import sys
import google.protobuf as pb
from argparse import ArgumentParser
import numpy as np
import shutil
import caffe
from caffe.proto import caffe_pb2
sys.path.append('waifu2x-chainer')
from lib import srcnn
import chainer
def main():
caffe.set_mode_cpu()
model_name = 'UpResNet10'
model_dir = 'waifu2x-chainer/models/{}'.format(model_name.lower())
model_class = srcnn.archs[model_name]
for filename in os.listdir(model_dir):
basename, ext = os.path.splitext(filename)
if ext == '.npz':
model_path = os.path.join(model_dir, filename)
print(model_path)
channels = 3 if 'rgb' in filename else 1
model = model_class(channels)
chainer.serializers.load_npz(model_path, model)
model.to_cpu()
params = {}
for path, param in model.namedparams():
params[path] = param.array
net = caffe.Net('upresnet10_3.prototxt', caffe.TEST)
for key in net.params:
l = len(net.params[key])
net.params[key][0].data[...] = params[key + '/W']
if l >= 2:
net.params[key][1].data[...] = params[key + '/b']
input_data = np.empty(net.blobs['input'].data.shape, dtype=np.float32)
input_data[...] = np.random.random_sample(net.blobs['input'].data.shape)
net.blobs['input'].data[...] = input_data
ret = net.forward()
input_data = np.empty(net.blobs['input'].data.shape, dtype=np.float32)
input_data[...] = np.random.random_sample(net.blobs['input'].data.shape)
net.blobs['input'].data[...] = input_data
ret = net.forward()
batch_y = model(input_data)
print(batch_y.array - ret['/conv_post'])
if __name__ == '__main__':
caffe.init_log(3)
main()

View File

@ -0,0 +1,61 @@
import os
import os.path as osp
import sys
import google.protobuf as pb
from argparse import ArgumentParser
import numpy as np
import shutil
import caffe
from caffe.proto import caffe_pb2
sys.path.append('waifu2x-chainer')
from lib import srcnn
import chainer
fname_convert_table = {
'anime_style_noise0_scale_rgb': 'noise0_scale2.0x_model',
'anime_style_noise1_scale_rgb': 'noise1_scale2.0x_model',
'anime_style_noise2_scale_rgb': 'noise2_scale2.0x_model',
'anime_style_noise3_scale_rgb': 'noise3_scale2.0x_model',
'anime_style_scale_rgb': 'scale2.0x_model',
}
def main():
caffe.set_mode_cpu()
model_name = 'UpResNet10'
model_dir = 'waifu2x-chainer/models/{}'.format(model_name.lower())
model_class = srcnn.archs[model_name]
for filename in os.listdir(model_dir):
basename, ext = os.path.splitext(filename)
if ext == '.npz':
model_path = os.path.join(model_dir, filename)
print(model_path)
channels = 3 if 'rgb' in filename else 1
model = model_class(channels)
size = 64 + model.offset
data = np.zeros((1, channels, size, size), dtype=np.float32)
x = chainer.Variable(data)
chainer.serializers.load_npz(model_path, model)
params = {}
for path, param in model.namedparams():
params[path] = param.array
net = caffe.Net('upresnet10_3.prototxt', caffe.TEST)
for key in net.params:
l = len(net.params[key])
net.params[key][0].data[...] = params[key + '/W']
if l >= 2:
net.params[key][1].data[...] = params[key + '/b']
prototxt_path = '{}.prototxt'.format(fname_convert_table[basename])
caffemodel_path = '{}.json.caffemodel'.format(fname_convert_table[basename])
net.save(caffemodel_path)
shutil.copy('upresnet10_3.prototxt', prototxt_path)
if __name__ == '__main__':
caffe.init_log(3)
main()

View File

@ -0,0 +1,251 @@
import os
import os.path as osp
import sys
import google.protobuf as pb
from argparse import ArgumentParser
import numpy as np
import caffe
from caffe.proto import caffe_pb2
def _get_include(phase):
inc = caffe_pb2.NetStateRule()
if phase == 'train':
inc.phase = caffe_pb2.TRAIN
elif phase == 'test':
inc.phase = caffe_pb2.TEST
else:
raise ValueError("Unknown phase {}".format(phase))
return inc
def _get_param(num_param):
if num_param == 1:
# only weight
param = caffe_pb2.ParamSpec()
param.lr_mult = 1
param.decay_mult = 1
return [param]
elif num_param == 2:
# weight and bias
param_w = caffe_pb2.ParamSpec()
param_w.lr_mult = 1
param_w.decay_mult = 1
param_b = caffe_pb2.ParamSpec()
param_b.lr_mult = 2
param_b.decay_mult = 0
return [param_w, param_b]
else:
raise ValueError("Unknown num_param {}".format(num_param))
def Input(name, top, shape):
layer = caffe_pb2.LayerParameter()
layer.name = name
layer.type = 'Input'
layer.top.append(top)
blobShape = layer.input_param.shape.add()
blobShape.dim.extend(shape)
return layer
def Conv(name, bottom, num_output, kernel_size, stride = 1, pad = 0, nobias = False):
layer = caffe_pb2.LayerParameter()
layer.name = name
layer.type = 'Convolution'
layer.bottom.extend([bottom])
layer.top.extend([name])
layer.convolution_param.num_output = num_output
layer.convolution_param.kernel_size.extend([kernel_size])
layer.convolution_param.stride.extend([stride])
layer.convolution_param.pad.extend([pad])
layer.convolution_param.weight_filler.type = 'msra'
layer.convolution_param.bias_term = not(nobias)
layer.param.extend(_get_param(1 if nobias else 2))
return layer
def DeConv(name, bottom, num_output, kernel_size, stride = 1, pad = 0, nobias = False):
layer = caffe_pb2.LayerParameter()
layer.name = name
layer.type = 'Deconvolution'
layer.bottom.extend([bottom])
layer.top.extend([name])
layer.convolution_param.num_output = num_output
layer.convolution_param.kernel_size.extend([kernel_size])
layer.convolution_param.stride.extend([stride])
layer.convolution_param.pad.extend([pad])
layer.convolution_param.weight_filler.type = 'msra'
layer.convolution_param.bias_term = not(nobias)
layer.param.extend(_get_param(1 if nobias else 2))
return layer
def Sigmoid(name, bottom):
top_name = name + '_sigmoid'
# ReLU
sigmoid_layer = caffe_pb2.LayerParameter()
sigmoid_layer.name = name + '_sigmoid'
sigmoid_layer.type = 'Sigmoid'
sigmoid_layer.bottom.extend([bottom])
sigmoid_layer.top.extend([top_name])
return sigmoid_layer
def Relu(name, bottom):
top_name = name + '_relu'
# ReLU
relu_layer = caffe_pb2.LayerParameter()
relu_layer.name = name + '_relu'
relu_layer.type = 'ReLU'
relu_layer.bottom.extend([bottom])
relu_layer.top.extend([top_name])
return relu_layer
def LeakyRelu(name, bottom, negative_slope):
top_name = name + '_relu'
# LeakyRelu
relu_layer = caffe_pb2.LayerParameter()
relu_layer.name = name + '_relu'
relu_layer.type = 'ReLU'
relu_layer.relu_param.negative_slope = negative_slope
relu_layer.bottom.extend([bottom])
relu_layer.top.extend([top_name])
return relu_layer
def ConvLeakyRelu(name, bottom, num_output, kernel_size, stride = 1, pad = 0, negative_slope = 0.1):
layers = []
layers.append(Conv(name, bottom, num_output, kernel_size, stride, pad))
layers.append(LeakyRelu(name, layers[-1].top[0], negative_slope))
return layers
def GlobalAvgPool(name, bottom, stride = 1, pad = 0):
top_name = name + '_globalavgpool'
layer = caffe_pb2.LayerParameter()
layer.name = name + '_globalavgpool'
layer.type = 'Pooling'
layer.bottom.extend([bottom])
layer.top.extend([top_name])
layer.pooling_param.pool = caffe_pb2.PoolingParameter.AVE
layer.pooling_param.stride = stride
layer.pooling_param.pad = pad
layer.pooling_param.global_pooling = True
layer.pooling_param.engine = caffe_pb2.PoolingParameter.CAFFE
return layer
def Linear(name, bottom, num_output):
layer = caffe_pb2.LayerParameter()
layer.name = name
layer.type = 'InnerProduct'
layer.bottom.extend([bottom])
layer.top.extend([name])
layer.inner_product_param.num_output = num_output
layer.inner_product_param.weight_filler.type = 'msra'
layer.inner_product_param.bias_filler.value = 0
layer.param.extend(_get_param(2))
return layer
def Crop(name, bottom, crop_size):
layer = caffe_pb2.LayerParameter()
layer.name = name
layer.type = 'CropCenter'
layer.bottom.extend([bottom])
layer.top.extend([name])
layer.crop_center_param.crop_size.extend(crop_size)
return layer
def Add(name, bottoms):
layer = caffe_pb2.LayerParameter()
layer.name = name
layer.type = 'Eltwise'
layer.bottom.extend(bottoms)
layer.top.extend([name])
return layer
def Axpy(name, bottoms):
layer = caffe_pb2.LayerParameter()
layer.name = name
layer.type = 'Axpy'
layer.bottom.extend(bottoms)
layer.top.extend([name])
return layer
def SEResBlock(name, bottom, in_channels, out_channels, r=16, slope=0.1):
layers = []
res_bottom = bottom
layers.extend(ConvLeakyRelu(name + '/conv1', res_bottom, out_channels, 3, 1, 0, slope))
layers.extend(ConvLeakyRelu(name + '/conv2', layers[-1].top[0], out_channels, 3, 1, 0, slope))
h = layers[-1].top[0]
layers.append(GlobalAvgPool(name + '/fc1', h))
layers.append(Linear(name + '/fc1', layers[-1].top[0], out_channels // r))
layers.append(Relu(name + '/fc1', layers[-1].top[0]))
layers.append(Linear(name + '/fc2', layers[-1].top[0], out_channels))
layers.append(Sigmoid(name + '/fc2', layers[-1].top[0]))
se = layers[-1].top[0]
layers.append(Crop(name + '/crop', res_bottom, [0, 0, 2, 2]))
x = layers[-1].top[0]
if in_channels != out_channels:
layers.extend(ConvLeakyRelu(name + '/conv_bridge', x, out_channels, 3, 1, 0, slope))
x = layers[-1].top[0]
# h * se + x
layers.append(Axpy(name + '/axpy', [se, h, x]))
return layers
def create_model(ch):
model = caffe_pb2.NetParameter()
model.name = 'UpResNet10_{}'.format(ch)
layers = []
layers.append(Input('data', 'input', [1, ch, 90, 90]))
layers.extend(ConvLeakyRelu('/conv_pre', layers[-1].top[0], 64, 3, 1, 0, 0.1))
skip = layers[-1].top[0]
layers.extend(SEResBlock('/res1', layers[-1].top[0], 64, 64, 4))
layers.extend(SEResBlock('/res2', layers[-1].top[0], 64, 64, 4))
layers.extend(SEResBlock('/res3', layers[-1].top[0], 64, 64, 4))
layers.extend(SEResBlock('/res4', layers[-1].top[0], 64, 64, 4))
layers.extend(SEResBlock('/res5', layers[-1].top[0], 64, 64, 4))
layers.extend(ConvLeakyRelu('/conv_bridge', layers[-1].top[0], 64, 3, 1, 0, 0.1))
h = layers[-1].top[0]
layers.append(Crop('/crop', skip, [0, 0, 11, 11]))
skip = layers[-1].top[0]
layers.append(Add('/add', [h, skip]))
layers.append(DeConv('/conv_post', layers[-1].top[0], ch, 4, 2, 3, True))
model.layer.extend(layers)
return model
def main(args):
model = create_model(args.ch)
if args.output is None:
args.output = osp.join(osp.dirname(__file__),
'upresnet10_{}.prototxt'.format(args.ch))
with open(args.output, 'w') as f:
f.write(pb.text_format.MessageToString(model))
if __name__ == '__main__':
parser = ArgumentParser()
parser.add_argument('--ch', type=int, default=3,
choices=[1, 3])
parser.add_argument('-o', '--output', type=str)
args = parser.parse_args()
main(args)

View File

@ -1,83 +1,105 @@
{
"IDC_STATIC_IO_SETTING":"输入和输出设置",
"IDC_STATIC_INPUT_PATH":"输入\r\n(文件或文件夹)",
"IDC_BUTTON_INPUT_REF":"选择",
"IDC_STATIC_OUTPUT_PATH":"输出",
"IDC_STATIC_TANS_EXT_LIST":"文件夹内进行转换的格式",
"IDC_STATIC_OUTPUT_EXT":"输出格式",
"IDC_STATIC_OUTPUT_QUALITY":"输出图像质量",
"IDC_STATIC_OUTPUT_DEPTH":"输出色彩深度",
"IDC_STATIC_AUTO_START":"",
"IDC_RADIO_AUTO_START_NONE":"不启用",
"IDC_RADIO_AUTO_START_ONE":"输入单个文件时启用",
"IDC_RADIO_AUTO_START_MULTI":"输入文件夹或多个文件时启用",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"转换的质量和处理设置",
"IDC_STATIC_TRANS_MODE":"转换模式",
"IDC_RADIO_MODE_NOISE_SCALE":"降噪和放大",
"IDC_RADIO_MODE_SCALE":"仅放大",
"IDC_RADIO_MODE_NOISE":"仅降噪",
"IDC_RADIO_AUTO_SCALE":"自动降噪和放大",
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG 降噪等级",
"IDC_RADIONOISE_LEVEL1":"1 级",
"IDC_RADIONOISE_LEVEL2":"2 级",
"IDC_RADIONOISE_LEVEL3":"3 级",
"IDC_STATIC_SCALE_RATE":"放大尺寸",
"IDC_RADIO_SCALE_RATIO":"放大倍率",
"IDC_RADIO_SCALE_WIDTH":"放大后宽度",
"IDC_RADIO_SCALE_HEIGHT":"放大后长度",
"IDC_STATIC_MODEL":"模式",
"IDC_RADIO_MODEL_RGB":"2D 插图 (RGB 模型)",
"IDC_RADIO_MODEL_PHOTO":"照片 或 动画 (Photo 模型)",
"IDC_RADIO_MODEL_Y":"2D 插图 2 (Y 模型)",
"IDC_CHECK_TTA":"TTA 模式",
"IDC_STATIC_PROCESS_SPEED_SETTING":"处理速度设置",
"IDC_STATIC_PROCESSOR":"",
"IDC_RADIO_MODE_GPU":"CUDA (cuDNN 优先)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"拆分大小",
"IDC_BUTTON_CHECK_CUDNN":"cuDNN 检查",
"IDC_BUTTON_CANCEL":"取消",
"IDC_BUTTON_EXEC":"开始",
"IDC_STATIC_LANG_UI":"界面语言",
"IDC_BUTTON_OUTPUT_REF":"选择",
"MessageUseProcessorMode":"使用的处理模式: %s",
"MessageProcessTime":"处理时间: %02d:%02d:%02d.%03d",
"MessageInitTime":"初始化时间: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN 检查时间: %02d:%02d:%02d.%03d",
"MessageTitleError":"错误",
"MessageScaleRateCheckError":"放大倍率必须大于 0 的正数",
"MessageScaleWidthCheckError":"放大尺寸必须大于 0 的正数",
"MessageCropSizeCheckError":"拆分大小必须大于 0 的正数",
"MessageInputPathCheckError":"请设置输入路径",
"MessageOutputPathCheckError":"请设置输出路径",
"MessageOutputExtCheckError":"请设置输出格式",
"MessageInputCheckError":"输入或输出路径不存在",
"MessageOutputExtentionCheckError":"请选择输出格式",
"MessageOutputQualityCheckError":"输出图像质量过大",
"MessageOutputDepthCheckError":"输出图像色彩深度数值不正确",
"MessageCudaNotFindError":"使用 GPU 转换失败。\r\n可能是因为没有安装可调用的 CUDA 驱动。\r\n请安装驱动。",
"MessageCudaOldVersionError":"使用 GPU 转换失败。\r\n可能是因为安装的 CUDA 驱动太旧。\r\n请更新驱动。",
"MessageTransSuccess":"转换成功",
"MessageErrorHappen":"发生错误",
"MessageCreateOutDirError":"输出目录\r\n「%s」\r\n创建失败",
"MessageCancelError":"已经取消",
"MessageInvalidParameterError":"参数无效",
"MessageFailedOpenModelFileError":"模型文件无法打开",
"MessageFailedParseModelFileError":"模型文件已损坏",
"MessageFailedConstructModelError":"无法构建模型",
"MessageFailedOpenInputFileError":"无法打开输入文件「%s」",
"MessageFailedOpenOutputFileError":"无法输出文件「%s」",
"MessageFailedProcessCaffeError":"插值处理失败",
"MessageTitleResult":"结果",
"MessagecuDNNOK":"可以使用 cuDNN。",
"MessagecuDNNNotFindError":"调用 cuDNN 失败。\r\n没有发现「%s」。",
"MessagecuDNNOldVersionError":"调用 cuDNN 失败。\r\n「%s」版本太旧。请使用 %s。",
"MessagecuDNNCannotCreateError":"调用 cuDNN 失败。\r\n初始化 cuDNN 失败。",
"MessagecuDNNDefautlError":"调用 cuDNN 失败",
"MessageExtStr":"输入文件扩展名 (%s)",
"MessageAllFileFolder":"所有文件和文件夹 (.)",
"MessageTitleInputDialog":"请选择输入文件或文件夹",
"MessageTimeLeftUnkown":"估计剩余时间: 未知",
"MessageTimeLeft":"估计剩余时间"
}
"IDC_STATIC_IO_SETTING":"输入和输出设置",
"IDC_STATIC_INPUT_PATH":"输入路径\r\n(文件或文件夹)",
"IDC_BUTTON_INPUT_REF":"浏览...",
"IDC_STATIC_OUTPUT_PATH":"输出路径",
"IDC_STATIC_TANS_EXT_LIST":"文件夹内进行转换的文件格式",
"IDC_STATIC_OUTPUT_EXT":"输出文件格式",
"IDC_STATIC_OUTPUT_QUALITY":"输出图像质量",
"IDC_STATIC_OUTPUT_DEPTH":"输出色彩深度",
"IDC_STATIC_AUTO_START":"输入文件后自动开始转换",
"IDC_RADIO_AUTO_START_NONE":"不启用",
"IDC_RADIO_AUTO_START_ONE":"输入单个文件时启用",
"IDC_RADIO_AUTO_START_MULTI":"输入文件夹或多个文件时启用",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"转换质量和处理设置",
"IDC_STATIC_TRANS_MODE":"转换模式",
"IDC_RADIO_MODE_NOISE_SCALE":"降噪和放大",
"IDC_RADIO_MODE_SCALE":"仅放大",
"IDC_RADIO_MODE_NOISE":"仅降噪",
"IDC_RADIO_AUTO_SCALE":"自动降噪和放大",
"IDC_STATIC_JPEG_NOISE_LEVEL":"降噪等级",
"IDC_RADIONOISE_LEVEL0":"0 级",
"IDC_RADIONOISE_LEVEL1":"1 级",
"IDC_RADIONOISE_LEVEL2":"2 级",
"IDC_RADIONOISE_LEVEL3":"3 级",
"IDC_STATIC_SCALE_RATE":"放大尺寸",
"IDC_RADIO_SCALE_RATIO":"放大倍率",
"IDC_RADIO_SCALE_WIDTH":"放大后宽度",
"IDC_RADIO_SCALE_HEIGHT":"放大后高度",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"放大后宽高",
"IDC_STATIC_MODEL":"模型",
"IDC_RADIO_MODEL_RGB":"2D 插图 — RGB 模型",
"IDC_RADIO_MODEL_PHOTO":"照片或动画 — Photo 模型",
"IDC_RADIO_MODEL_Y":"2D 插图 — Y 模型",
"IDC_RADIO_MODEL_UpResNet10":"2D 插图 — UpResNet10 模型",
"IDC_CHECK_TTA":"TTA 模式",
"IDC_STATIC_PROCESS_SPEED_SETTING":"处理速度设置",
"IDC_STATIC_PROCESSOR":"处理器",
"IDC_RADIO_MODE_GPU":"CUDA (优先使用 cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"拆分尺寸",
"IDC_BUTTON_CHECK_CUDNN":"cuDNN 检查...",
"IDC_BUTTON_CANCEL":"取消",
"IDC_BUTTON_EXEC":"开始",
"IDC_STATIC_LANG_UI":"界面语言",
"IDC_BUTTON_OUTPUT_REF":"浏览...",
"IDC_BUTTON_APP_SETTING":"应用设置...",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"重设输出文件夹",
"IDC_STATIC_ARG_START":"启动参数",
"IDC_CHECK_ARG_START_AUTO":"启动时开始转换",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"成功后自动退出",
"IDC_STATIC_INPUT_DIR_FIX":"默认输入文件夹",
"IDC_STATIC_OUTPUT_DIR_FIX":"默认输出文件夹",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"输出时不覆盖同名文件",
"MessageUseProcessorMode":"使用的处理模式: %s",
"MessageProcessTime":"处理时间: %02d:%02d:%02d.%03d",
"MessageInitTime":"初始化时间: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN 检查时间: %02d:%02d:%02d.%03d",
"MessageTitleError":"错误",
"MessageScaleRateCheckError":"放大倍率必须是大于 0.0 的正数",
"MessageScaleWidthCheckError":"放大尺寸必须是大于 0 的整数",
"MessageCropSizeCheckError":"拆分尺寸必须是大于 0 的整数",
"MessageInputPathCheckError":"请设置输入路径",
"MessageOutputPathCheckError":"请设置输出路径",
"MessageOutputExtCheckError":"请设置输出文件格式",
"MessageInputCheckError":"输入的文件或文件夹不存在",
"MessageOutputExtentionCheckError":"请选择输出格式",
"MessageOutputQualityCheckError":"输出图像质量的值超出范围",
"MessageOutputDepthCheckError":"输出色彩深度数值无效",
"MessageCudaNotFindError":"无法使用 GPU 转换。\r\n可能是因为没有安装有效的 CUDA 驱动。\r\n请安装驱动。",
"MessageCudaOldVersionError":"无法使用 GPU 转换。\r\n可能是因为安装的 CUDA 驱动版本过旧。\r\n请更新驱动。",
"MessageTransSuccess":"转换成功",
"MessageErrorHappen":"发生错误",
"MessageCreateOutDirError":"输出文件夹\r\n「%s」\r\n创建失败",
"MessageCancelError":"转换被取消",
"MessageInvalidParameterError":"参数无效",
"MessageFailedOpenModelFileError":"模型文件无法打开",
"MessageFailedParseModelFileError":"模型文件已损坏",
"MessageFailedConstructModelError":"构建网络失败",
"MessageFailedOpenInputFileError":"无法打开输入文件「%s」",
"MessageFailedOpenOutputFileError":"无法保存输出文件「%s」",
"MessageFailedProcessCaffeError":"插值处理失败",
"MessageTitleResult":"结果",
"MessagecuDNNOK":"可以使用 cuDNN。",
"MessagecuDNNNotFindError":"无法使用 cuDNN。\r\n找不到「%s」。",
"MessagecuDNNOldVersionError":"无法使用 cuDNN。\r\n「%s」的版本过旧。请使用 %s。",
"MessagecuDNNCannotCreateError":"无法使用 cuDNN。\r\ncuDNN 无法初始化。",
"MessagecuDNNDefautlError":"无法使用 cuDNN",
"MessageExtStr":"自定义文件 (%s)",
"MessageAllFileFolder":"所有文件 (*.*)",
"MessageTitleInputDialog":"请选择文件或文件夹",
"MessageTimeLeftUnknown":"估计剩余时间: 未知",
"MessageTimeLeft":"估计剩余时间",
"MessageNoOverwrite":"此位置已经包含同名文件: %s",
"MessageCudaOldDeviceError":"CUDA 设备过旧。\r\n请使用 Compute Capability (计算能力) 2.0 以上的设备。",
"OK":"确定",
"Cancel":"取消",
"IDC_STATIC_USE_GPU_NO":"使用的 GPU No.",
"IDC_RADIO_MODEL_UPCONV_RGB":"2D 插图 — UpRGB 模型",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"照片或动画 — UpPhoto 模型",
"MessageLogFatalError":"发生了致命错误。\r\n拆分尺寸可能过大。",
"IDC_STATIC_BATCH_SIZE":"批尺寸",
"MessageBatchSizeCheckError":"批尺寸必须是大于 0 的整数",
"IDC_RADIO_MODEL_CUNET":"2D 插图 — CUnet 模型",
"MessageCropSizeDivisibleCheckError":"这个模组的拆分尺寸必须是 %d 的正整数倍"
}

View File

@ -1,82 +1,101 @@
{
"IDC_STATIC_IO_SETTING":"輸入和輸出設置",
"IDC_STATIC_INPUT_PATH":"輸入路徑\r\n(可使用文件夾)",
"IDC_BUTTON_INPUT_REF":"瀏覽文件",
"IDC_STATIC_OUTPUT_PATH":"輸出路徑",
"IDC_STATIC_TANS_EXT_LIST":"在文件夾中轉換的副檔名",
"IDC_STATIC_OUTPUT_EXT":"輸出副檔名",
"IDC_STATIC_OUTPUT_QUALITY":"輸出質量設置",
"IDC_STATIC_OUTPUT_DEPTH":"輸出位元深度",
"IDC_STATIC_AUTO_START":"",
"IDC_RADIO_AUTO_START_NONE":"不自動開始",
"IDC_RADIO_AUTO_START_ONE":"輸入文件",
"IDC_RADIO_AUTO_START_MULTI":"輸入多個文件或文件夾",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"轉換質量和處理設置",
"IDC_STATIC_TRANS_MODE":"轉換模式",
"IDC_RADIO_MODE_NOISE_SCALE":"降噪和放大",
"IDC_RADIO_MODE_SCALE":"放大",
"IDC_RADIO_MODE_NOISE":"降噪",
"IDC_RADIO_AUTO_SCALE":"自動降噪和放大",
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG降噪水平",
"IDC_RADIONOISE_LEVEL1":"等級1",
"IDC_RADIONOISE_LEVEL2":"等級2",
"IDC_RADIONOISE_LEVEL3":"等級3",
"IDC_STATIC_SCALE_RATE":"放大大小",
"IDC_RADIO_SCALE_RATIO":"放大比率",
"IDC_RADIO_SCALE_WIDTH":"轉換後高度",
"IDC_RADIO_SCALE_HEIGHT":"轉換後寬度",
"IDC_STATIC_MODEL":"模式",
"IDC_RADIO_MODEL_RGB":"二次元插圖 ( RGB模式 ) ",
"IDC_RADIO_MODEL_PHOTO":"照片和動畫 ( 照片模式 ) ",
"IDC_RADIO_MODEL_Y":"二次元插圖2 ( Y模式 ) ",
"IDC_CHECK_TTA":"使用TTA模式",
"IDC_STATIC_PROCESS_SPEED_SETTING":"處理速度設置",
"IDC_STATIC_PROCESSOR":"",
"IDC_RADIO_MODE_GPU":"CUDA ( cuDNN優先 )",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"拆分大小",
"IDC_BUTTON_CHECK_CUDNN":"檢查cuDNN",
"IDC_BUTTON_CANCEL":"取消",
"IDC_BUTTON_EXEC":"運行",
"IDC_STATIC_LANG_UI":"界面語言",
"IDC_BUTTON_OUTPUT_REF":"瀏覽文件",
"MessageUseProcessorMode":"使用的處理器模式: %s",
"MessageProcessTime":"處理時間: %02d:%02d:%02d.%03d",
"MessageInitTime":"初始化時間: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN檢驗時間: %02d:%02d:%02d.%03d",
"MessageTitleError":"錯誤",
"MessageScaleRateCheckError":"放大倍率必須為大於0.0的正數",
"MessageScaleWidthCheckError":"放大尺寸必須大於0的正數",
"MessageCropSizeCheckError":"拆分大小必須為大於0.0的正數",
"MessageInputPathCheckError":"必須指定輸入路徑",
"MessageOutputPathCheckError":"必須指定輸出路徑",
"MessageOutputExtCheckError":"必須指定輸出副檔名",
"MessageInputCheckError":"指定的文件/文件夾不存在",
"MessageOutputExtentionCheckError":"請選擇輸出副檔名",
"MessageOutputQualityCheckError":"輸出質量設置中的值超出範圍",
"MessageOutputDepthCheckError":"輸出位元深度值無效",
"MessageCudaNotFindError":"無法使用GPU轉換\r\nCUDA驅動程序可能未安裝\r\nCUDA請事先安裝CUDA驅動程序",
"MessageCudaOldVersionError":"無法使用GPU轉換\r\nCUDA驅動程序版本可能已過期\r\n請先更新CUDA驅動程序",
"MessageTransSuccess":"轉換成功",
"MessageErrorHappen":"發生錯誤",
"MessageCreateOutDirError":"無法創建輸出文件夾\r\n「%s」",
"MessageCancelError":"操作被取消",
"MessageInvalidParameterError":"參數無效",
"MessageFailedOpenModelFileError":"無法打開模組文件",
"MessageFailedParseModelFileError":"模組的文件損壞",
"MessageFailedConstructModelError":"神經網絡建立失敗",
"MessageFailedOpenInputFileError":"輸入的圖像無法打開\r\n「%s」",
"MessageFailedOpenOutputFileError":"輸出的圖像無法寫入\r\n「%s」",
"MessageFailedProcessCaffeError":"插值處理失敗",
"MessageTitleResult":"檢查結果",
"MessagecuDNNOK":"cuDNN可以使用",
"MessagecuDNNNotFindError":"cuDNN無法使用\r\n找不到「%s」",
"MessagecuDNNOldVersionError":"cuDNN無法使用\r\n「%s」的版本過期請使用%s",
"MessagecuDNNCannotCreateError":"cuDNN無法使用\r\n無法初始化cuDNN",
"MessagecuDNNDefautlError":"cuDNN預設無法使用",
"MessageExtStr":"指定的轉換對象副檔名(%s)",
"MessageAllFileFolder":"所有的文件和文件夾(.)",
"MessageTitleInputDialog":"請選擇一個文件或文件夾",
"MessageTimeLeftUnkown":"預估剩餘時間: 未知",
"MessageTimeLeft":"預估剩餘時間"
}
{
"IDC_STATIC_IO_SETTING":"輸入/輸出設定",
"IDC_STATIC_INPUT_PATH":"輸入路徑\r\n檔案或資料夾",
"IDC_BUTTON_INPUT_REF":"瀏覽檔案",
"IDC_STATIC_OUTPUT_PATH":"輸出路徑",
"IDC_STATIC_TANS_EXT_LIST":"輸入檔案的副檔名",
"IDC_STATIC_OUTPUT_EXT":"輸出副檔名",
"IDC_STATIC_OUTPUT_QUALITY":"輸出品質設定",
"IDC_STATIC_OUTPUT_DEPTH":"輸出位元深度",
"IDC_STATIC_AUTO_START":"設定輸入檔案後自動開始",
"IDC_RADIO_AUTO_START_NONE":"不自動開始",
"IDC_RADIO_AUTO_START_ONE":"輸入檔案",
"IDC_RADIO_AUTO_START_MULTI":"輸入多個檔案或資料夾",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"轉換品質和處理設定",
"IDC_STATIC_TRANS_MODE":"轉換模式",
"IDC_RADIO_MODE_NOISE_SCALE":"降噪&放大",
"IDC_RADIO_MODE_SCALE":"僅放大",
"IDC_RADIO_MODE_NOISE":"僅降噪",
"IDC_RADIO_AUTO_SCALE":"放大&自動降噪",
"IDC_STATIC_JPEG_NOISE_LEVEL":"降噪等級",
"IDC_RADIONOISE_LEVEL0":"等級 0",
"IDC_RADIONOISE_LEVEL1":"等級 1",
"IDC_RADIONOISE_LEVEL2":"等級 2",
"IDC_RADIONOISE_LEVEL3":"等級 3",
"IDC_STATIC_SCALE_RATE":"放大倍率",
"IDC_RADIO_SCALE_RATIO":"比例設定",
"IDC_RADIO_SCALE_WIDTH":"轉換寬度設定",
"IDC_RADIO_SCALE_HEIGHT":"轉換高度設定",
"IDC_STATIC_MODEL":"模組",
"IDC_RADIO_MODEL_RGB":"二次元插圖RGB 模式)",
"IDC_RADIO_MODEL_PHOTO":"照片和動畫Photo 模式)",
"IDC_RADIO_MODEL_Y":"二次元插圖Y 模式)",
"IDC_RADIO_MODEL_UpResNet10":"二次元插圖UpResNet10",
"IDC_CHECK_TTA":"使用 TTA 模式",
"IDC_STATIC_PROCESS_SPEED_SETTING":"處理速度設定",
"IDC_STATIC_PROCESSOR":"使用處理器",
"IDC_RADIO_MODE_GPU":"CUDA使用 cuDNN",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"分割大小",
"IDC_BUTTON_CHECK_CUDNN":"檢查 cuDNN",
"IDC_BUTTON_CANCEL":"取消",
"IDC_BUTTON_EXEC":"開始",
"IDC_STATIC_LANG_UI":"界面語言",
"IDC_BUTTON_OUTPUT_REF":"瀏覽",
"IDC_BUTTON_APP_SETTING":"程式設定",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"重設輸出目錄",
"IDC_STATIC_ARG_START":"程式啟動設定",
"IDC_CHECK_ARG_START_AUTO":"程式啟動後自動執行",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"成功後退出",
"IDC_STATIC_INPUT_DIR_FIX":"輸入資料夾",
"IDC_STATIC_OUTPUT_DIR_FIX":"輸出資料夾",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"不要覆蓋輸出檔案",
"MessageUseProcessorMode":"使用的處理器模式:%s",
"MessageProcessTime":"處理時間:%02d:%02d:%02d.%03d",
"MessageInitTime":"初始化時間:%02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN檢驗時間%02d:%02d:%02d.%03d",
"MessageTitleError":"錯誤",
"MessageScaleRateCheckError":"放大倍率必須為大於0.0的正數",
"MessageScaleWidthCheckError":"尺寸必須為大於0的正整數",
"MessageCropSizeCheckError":"分割大小必須為大於0.0的正數",
"MessageInputPathCheckError":"必須指定輸入路徑",
"MessageOutputPathCheckError":"必須指定輸出路徑",
"MessageOutputExtCheckError":"必須指定輸出副檔名",
"MessageInputCheckError":"指定的檔案或資料夾不存在",
"MessageOutputExtentionCheckError":"請選擇輸出副檔名",
"MessageOutputQualityCheckError":"輸出品質設定中的值超出範圍",
"MessageOutputDepthCheckError":"輸出位元深度值錯誤",
"MessageCudaNotFindError":"無法使用 GPU 轉換\r\nCUDA 驅動程式可能未安裝\r\n請事先安裝 CUDA 驅動程式",
"MessageCudaOldVersionError":"無法使用 GPU 轉換\r\nCUDA 驅動程式版本可能已過期\r\n請先更新 CUDA 驅動程式",
"MessageTransSuccess":"轉換成功",
"MessageErrorHappen":"發生錯誤",
"MessageCreateOutDirError":"無法新增輸出資料夾\r\n「%s」",
"MessageCancelError":"轉換被取消",
"MessageInvalidParameterError":"參數無效",
"MessageFailedOpenModelFileError":"開啟模組檔案失敗",
"MessageFailedParseModelFileError":"解析模組檔案失敗",
"MessageFailedConstructModelError":"建立神經網路失敗",
"MessageFailedOpenInputFileError":"開啟輸入檔案失敗\r\n「%s」",
"MessageFailedOpenOutputFileError":"寫入輸出檔案失敗\r\n「%s」",
"MessageFailedProcessCaffeError":"插值處理失敗",
"MessageTitleResult":"結果",
"MessagecuDNNOK":"可以使用cuDNN",
"MessagecuDNNNotFindError":"無法使用 cuDNN\r\n找不到「%s」",
"MessagecuDNNOldVersionError":"無法使用 cuDNN\r\n「%s」的版本過期請使用%s",
"MessagecuDNNCannotCreateError":"無法使用 cuDNN\r\n無法初始化 cuDNN",
"MessagecuDNNDefautlError":"無法使用 cuDNN",
"MessageExtStr":"輸入檔案副檔名(%s)",
"MessageAllFileFolder":"所有的檔案和資料夾(.)",
"MessageTitleInputDialog":"請選擇輸入檔案或資料夾",
"MessageTimeLeftUnknown":"預估剩餘時間:未知",
"MessageTimeLeft":"預估剩餘時間",
"MessageNoOverwrite":"此位置已經包含相同檔案:%s",
"MessageCudaOldDeviceError":"CUDA 套件版本過於老舊。請更新 \r\n請使用 Compute Capability 2.0 以上版本",
"OK":"確定",
"Cancel":"取消",
"IDC_STATIC_USE_GPU_NO":"使用GPU數量",
"IDC_RADIO_MODEL_UPCONV_RGB":"二次元插圖UpRGB 模式)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"照片和動畫UpPhoto 模式)",
"MessageLogFatalError":"發生嚴重錯誤。\r\n可能是分割大小過大",
"IDC_RADIO_MODEL_CUNET":"二次元插圖CUnet 模式)"
}

View File

@ -1,7 +1,14 @@
;LangName LangID SubLangID FileName
English(US) 0x09 0x01 english.json
Deutsch(DE) 0x07 0x01 german.json
Español(ES) 0x0A 0x01 spanish.json
Français(FR) 0x0C 0x01 french.json
Русский(RU) 0x19 0x01 russian.json
Türkçe(TR) 0x1F 0x01 turkish.json
日本語 0x11 0x01 japanese.json
한국어 0x12 0x01 korean.json
繁体中文 0x04 0x01 Chinese_Traditional.json
中文 0x04 0x01 Chinese_Traditional.json
简体中文 0x04 0x02 Chinese_Simplified.json
Português(BR) 0x16 0x01 portuguese_brazilian.json
Čeština 0x05 0x01 czech.json
Italian 0x10 0x01 italian.json

105
bin/lang/czech.json Normal file
View File

@ -0,0 +1,105 @@
{
"IDC_STATIC_IO_SETTING": "Nasvavení vstupu/výstupu",
"IDC_STATIC_INPUT_PATH": "Vstupní cesta\r\n(soubor či složka)",
"IDC_BUTTON_INPUT_REF": "Procházet",
"IDC_STATIC_OUTPUT_PATH": "výstupní cesta",
"IDC_STATIC_TANS_EXT_LIST": "Formáty vstupů",
"IDC_STATIC_OUTPUT_EXT": "Formát výstupů",
"IDC_STATIC_OUTPUT_QUALITY": "Výstupní kvalita",
"IDC_STATIC_OUTPUT_DEPTH": "Výstupní bitová hloubka",
"IDC_STATIC_AUTO_START": "Nastavení samozpuštění při nastavení vstupu",
"IDC_RADIO_AUTO_START_NONE": "Vypnuto",
"IDC_RADIO_AUTO_START_ONE": "Zapnuto při jednom souboru",
"IDC_RADIO_AUTO_START_MULTI": "Zapnuto při složce, více siuborech",
"IDC_STATIC_QUALITY_PROCESS_SETTING": "Nasvavení kvality a zpracování",
"IDC_STATIC_TRANS_MODE": "Způsoby zpracování",
"IDC_RADIO_MODE_NOISE_SCALE": "Odšumit a zvětšit",
"IDC_RADIO_MODE_SCALE": "Pouze zvětšit",
"IDC_RADIO_MODE_NOISE": "Pouze odšumit",
"IDC_RADIO_AUTO_SCALE": "Zvětšit a automaticky odstranit šum",
"IDC_STATIC_JPEG_NOISE_LEVEL": "Úroveň odšumení",
"IDC_RADIONOISE_LEVEL0": "Úroveň 0",
"IDC_RADIONOISE_LEVEL1": "Úroveň 1",
"IDC_RADIONOISE_LEVEL2": "Úroveň 2",
"IDC_RADIONOISE_LEVEL3": "Úroveň 3",
"IDC_STATIC_SCALE_RATE": "Zvětšení",
"IDC_RADIO_SCALE_RATIO": "Násobné",
"IDC_RADIO_SCALE_WIDTH": "Dle šířky",
"IDC_RADIO_SCALE_HEIGHT": "Dle déky",
"IDC_RADIO_SCALE_WIDTH_HEIGHT": "Přesně na (š x délka)",
"IDC_STATIC_MODEL": "Model",
"IDC_RADIO_MODEL_RGB": "2-D ilustrace (RGB Model)",
"IDC_RADIO_MODEL_PHOTO": "Fotka, Anime",
"IDC_RADIO_MODEL_Y": "2-D ilustrace (Y Model)",
"IDC_RADIO_MODEL_UpResNet10": "2-D ilustrace (UpResNet10)",
"IDC_CHECK_TTA": "Uží TTA Mode(průměr z 8 zvětšení)",
"IDC_STATIC_PROCESS_SPEED_SETTING": "Nastavení rychlosti zpracování",
"IDC_STATIC_PROCESSOR": "Užít pracovní jednotku",
"IDC_RADIO_MODE_GPU": "GPU - CUDA (je třeba cuDNN)",
"IDC_RADIO_MODE_CPU": "Procesor (ultra pomalé)",
"IDC_STATIC_CROP_SIZE": "Velokost rozdělení",
"IDC_BUTTON_CHECK_CUDNN": "Kontr. cuDNN",
"IDC_BUTTON_CANCEL": "Zrušit",
"IDC_BUTTON_EXEC": "Start",
"IDC_STATIC_LANG_UI": "Jazyk rozhraní",
"IDC_BUTTON_OUTPUT_REF": "Procházet",
"IDC_BUTTON_APP_SETTING": "Nastavení",
"IDC_BUTTON_CLEAR_OUTPUT_DIR": "Reset. výst. soubor",
"IDC_STATIC_ARG_START": "Nastartovat s ARGEM (konverzní engine)",
"IDC_CHECK_ARG_START_AUTO": "Nastartovat automaticky",
"IDC_CHECK_ARG_START_SUCCESS_FINISH": "vypnout po dokončení",
"IDC_STATIC_INPUT_DIR_FIX": "Stálá vstupní složka",
"IDC_STATIC_OUTPUT_DIR_FIX": "Stálá výstupní složka",
"IDC_CHECK_OUTPUT_NO_OVERWRITE": "Nepřepepisovat již existující soubory",
"MessageUseProcessorMode": "Použít %s. pracovní jednotku",
"MessageProcessTime": "Délka zpracování: %02d:%02d:%02d.%03d",
"MessageInitTime": "Délka inicializace: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime": "Čas kontroly cuDNN: %02d:%02d:%02d.%03d",
"MessageTitleError": "Chyba",
"MessageScaleRateCheckError": "násobek musí být větší než 0 a nezáporný",
"MessageScaleWidthCheckError": "Velikost musí být celé číslo větší než nula.",
"MessageCropSizeCheckError": "Velikost rozdělení musí být větší než 1",
"MessageInputPathCheckError": "Vložte prosím vstupní cestu",
"MessageOutputPathCheckError": "Vložte prosím výstupní cestu",
"MessageOutputExtCheckError": "Vložte formát výstupu",
"MessageInputCheckError": "Vstupní soubor či složka nenalezena",
"MessageOutputExtentionCheckError": "Vložte formát výstupu",
"MessageOutputQualityCheckError": "Výstupní kvalita je mimo rozsah",
"MessageOutputDepthCheckError": "Nasavení výstupní bitové hloubky je špatně",
"MessageCudaNotFindError": "Nelze použít GPU pro konverzi\r\nCUDA ovladač možná není nainstalován. \r\nZkuste ho instalovat",
"MessageCudaOldVersionError": "Nelze použít GPU pro konverzi\r\nCUDA ovladač je asi zastaralí \r\nZkuste ho updatovat",
"MessageTransSuccess": "Uspěšně provedeno",
"MessageErrorHappen": "nastala chyba",
"MessageCreateOutDirError": "Nelze vytvořit výstupní složku \r\n[%s]",
"MessageCancelError": "Konverze přerušena",
"MessageInvalidParameterError": "Parameter je špatně",
"MessageFailedOpenModelFileError": "Nelze otevřít soubor s modelem",
"MessageFailedParseModelFileError": "Nelze načíst soubor s modelem",
"MessageFailedConstructModelError": "Nelze zkonstruovat model z souboru",
"MessageFailedOpenInputFileError": "Nezle otevřít vstupní soubor: %s",
"MessageFailedOpenOutputFileError": "Nezle zapsat výstupní soubor: %s",
"MessageFailedProcessCaffeError": "Nelze zpracovat interpolaci",
"MessageTitleResult": "Výsledek kontroly",
"MessagecuDNNOK": "cuDNN lze použít",
"MessagecuDNNNotFindError": "cuDNN nemuže být použito\r\n[%s] nenalezeno",
"MessagecuDNNOldVersionError": "cuDNN nemuže být použito\r\n[%s]je stará verze. použíjte v2",
"MessagecuDNNCannotCreateError": "cuDNN nemuže být použito\r\n nelze inicializovat cuDNN",
"MessagecuDNNDefautlError": "cuDNN nemuže být použito",
"MessageExtStr": "Formát výstupi(%s)",
"MessageAllFileFolder": "Všechny soubory a složky(*.*)",
"MessageTitleInputDialog": "Zvolte vstupní soubor/složku",
"MessageTimeLeftUnknown": "Zbývající čas: Neznámé",
"MessageTimeLeft": "Zbyvající čas",
"MessageNoOverwrite": "Soubor: %s už existuje v složce ",
"MessageCudaOldDeviceError": "Vaše zařízení s podporou CUDA je zastaralé.\r\n Použíte prosím zařízení s „Compute Capability 2.0“ čí starší",
"OK": "OK",
"Cancel": "Zrušit",
"IDC_STATIC_USE_GPU_NO": "Užít GPU číslo:",
"IDC_RADIO_MODEL_UPCONV_RGB": "2-D ilustrace (UpRGB Model)",
"IDC_RADIO_MODEL_UPCONV_PHOTO": "Fotka (UpPhoto Model)",
"MessageLogFatalError": "Nastala fatální chyba.\r\nJe možné že velikost rozdělení je příliš velká",
"IDC_STATIC_BATCH_SIZE": "Velikost dávky",
"MessageBatchSizeCheckError": "Velikost dávky musí být větší než 0",
"IDC_RADIO_MODEL_CUNET": "2-D ilustrace (CUnet Model)",
"MessageCropSizeDivisibleCheckError": "Velikost rozdělení pro tento model Musí být bezezbytku dělitelná %d"
}

View File

@ -7,17 +7,18 @@
"IDC_STATIC_OUTPUT_EXT":"Output extension",
"IDC_STATIC_OUTPUT_QUALITY":"Output quality",
"IDC_STATIC_OUTPUT_DEPTH":"Output depth bits",
"IDC_STATIC_AUTO_START":"Auto start When Input files set",
"IDC_STATIC_AUTO_START":"Auto start when input files set",
"IDC_RADIO_AUTO_START_NONE":"No auto start",
"IDC_RADIO_AUTO_START_ONE":"On input file",
"IDC_RADIO_AUTO_START_MULTI":"On input many files or folder",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Convert Image quality && Processing Settings",
"IDC_RADIO_AUTO_START_MULTI":"On inputting multiple files or a folder",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Conversion Image Quality && Processing Settings",
"IDC_STATIC_TRANS_MODE":"Conversion Mode",
"IDC_RADIO_MODE_NOISE_SCALE":"Denoise && Magnify",
"IDC_RADIO_MODE_SCALE":"Magnify only",
"IDC_RADIO_MODE_NOISE":"Denoise only",
"IDC_RADIO_AUTO_SCALE":"Magnify && Auto Denoise",
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG denoise level",
"IDC_STATIC_JPEG_NOISE_LEVEL":"Denoise level",
"IDC_RADIONOISE_LEVEL0":"Level 0",
"IDC_RADIONOISE_LEVEL1":"Level 1",
"IDC_RADIONOISE_LEVEL2":"Level 2",
"IDC_RADIONOISE_LEVEL3":"Level 3",
@ -25,14 +26,16 @@
"IDC_RADIO_SCALE_RATIO":"Set rate",
"IDC_RADIO_SCALE_WIDTH":"Set trans width",
"IDC_RADIO_SCALE_HEIGHT":"Set trans height",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"Set trans width and height",
"IDC_STATIC_MODEL":"Model",
"IDC_RADIO_MODEL_RGB":"2-D illust (RGB Model)",
"IDC_RADIO_MODEL_PHOTO":"Photography, Anime",
"IDC_RADIO_MODEL_Y":"2-D illust (Y Model)",
"IDC_CHECK_TTA":"Uses TTA Mode",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Processing speed Settings",
"IDC_RADIO_MODEL_UpResNet10":"2-D illust (UpResNet10)",
"IDC_CHECK_TTA":"Use TTA Mode",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Processing Speed Settings",
"IDC_STATIC_PROCESSOR":"Use Processor",
"IDC_RADIO_MODE_GPU":"CUDA (Uses cuDNN)",
"IDC_RADIO_MODE_GPU":"CUDA (uses cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"Split size",
"IDC_BUTTON_CHECK_CUDNN":"Check cuDNN",
@ -43,12 +46,12 @@
"IDC_BUTTON_APP_SETTING":"App Setting",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"Reset output dir",
"IDC_STATIC_ARG_START":"Boot With Arg",
"IDC_CHECK_ARG_START_AUTO":"Start when boot",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Exit when successed",
"IDC_CHECK_ARG_START_AUTO":"Start when launched",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Exit when successfully completed",
"IDC_STATIC_INPUT_DIR_FIX":"Input fixed folder",
"IDC_STATIC_OUTPUT_DIR_FIX":"Output fixed folder",
"IDC_CHECK_OUTPUT_NO_OVERWIRITE":"Output files No overwrite",
"MessageUseProcessorMode":"Use Processor: %s",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"Output files No overwrite",
"MessageUseProcessorMode":"Used Processor: %s",
"MessageProcessTime":"Processing time: %02d:%02d:%02d.%03d",
"MessageInitTime":"Initialization time: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN-check time: %02d:%02d:%02d.%03d",
@ -65,9 +68,9 @@
"MessageOutputDepthCheckError":"Output depth bits is incorrect",
"MessageCudaNotFindError":"Input can not be converted by GPU\r\nThe CUDA driver may not have been installed. \r\nPlease install the CUDA driver",
"MessageCudaOldVersionError":"Input can not be converted by GPU\r\nThe CUDA driver version may be old \r\nPlease update the CUDA driver",
"MessageTransSuccess":"Successful converted",
"MessageTransSuccess":"Successfully converted",
"MessageErrorHappen":"An error has occured",
"MessageCreateOutDirError":"Output folder\r\n<EFBFBD>u%s<>v\r\nfailed to create",
"MessageCreateOutDirError":"Output folder\r\n[%s]\r\ncreation failed",
"MessageCancelError":"Conversion has been canceled",
"MessageInvalidParameterError":"Parameter is invalid",
"MessageFailedOpenModelFileError":"Failed to open model file",
@ -77,18 +80,26 @@
"MessageFailedOpenOutputFileError":"Failed to write to output file %s",
"MessageFailedProcessCaffeError":"Failed to process the interpolation",
"MessageTitleResult":"Result",
"MessagecuDNNOK":"You can use cuDNN",
"MessagecuDNNNotFindError":"You can not use cuDNN\r\n<>u%s<>vnot found",
"MessagecuDNNOldVersionError":"You can not use cuDNN\r\n<>u%s<>vis an older version. Please use v2",
"MessagecuDNNCannotCreateError":"You can not use cuDNN\r\ncFailed to initialize cuDNN",
"MessagecuDNNDefautlError":"You can not use cuDNN",
"MessagecuDNNOK":"cuDNN can be used",
"MessagecuDNNNotFindError":"cuDNN cannot be used\r\n[%s]not found",
"MessagecuDNNOldVersionError":"cuDNN cannot be used\r\n[%s]is an older version. Please use v2",
"MessagecuDNNCannotCreateError":"cuDNN cannot be used\r\ncFailed to initialize cuDNN",
"MessagecuDNNDefautlError":"cuDNN cannot be used",
"MessageExtStr":"Input file extensions(%s)",
"MessageAllFileFolder":"All files and folders(*.*)",
"MessageTitleInputDialog":"Please select input file or folder",
"MessageTimeLeftUnkown":"Time Left: Unkown",
"MessageTimeLeftUnknown":"Time Left: Unknown",
"MessageTimeLeft":"Time Left",
"MessageNoOverwrite":"Already file exists in the destination: %s",
"MessageCudaOldDeviceError":"Your CUDA device too old.\r\nPlease use Compute Capability 2.0 or more devices",
"MessageCudaOldDeviceError":"Your CUDA device is too old.\r\nPlease use a device with Compute Capability 2.0 or later",
"OK":"OK",
"Cancel":"Cancel"
"Cancel":"Cancel",
"IDC_STATIC_USE_GPU_NO":"Use GPU No",
"IDC_RADIO_MODEL_UPCONV_RGB":"2-D illust (UpRGB Model)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Photo (UpPhoto Model)",
"MessageLogFatalError":"A fatal error has occurred.\r\nThere is a possibility the split size is too large",
"IDC_STATIC_BATCH_SIZE":"Batch size",
"MessageBatchSizeCheckError":"Batch size must be greater than 0",
"IDC_RADIO_MODEL_CUNET":"2-D illust (CUnet Model)",
"MessageCropSizeDivisibleCheckError":"Split size of this model must be divisible by %d"
}

102
bin/lang/french.json Normal file
View File

@ -0,0 +1,102 @@
{
"IDC_STATIC_IO_SETTING":"Entrée/sortie",
"IDC_STATIC_INPUT_PATH":"Chemin d'entrée\r\n(fichier ou dossier)",
"IDC_BUTTON_INPUT_REF":"Parcourir",
"IDC_STATIC_OUTPUT_PATH":"Chemin de sortie",
"IDC_STATIC_TANS_EXT_LIST":"Extensions fichiers d'entrée",
"IDC_STATIC_OUTPUT_EXT":"Extension de sortie",
"IDC_STATIC_OUTPUT_QUALITY":"Qualité de sortie",
"IDC_STATIC_OUTPUT_DEPTH":"Profondeur de bits",
"IDC_STATIC_AUTO_START":"Démarrage auto au choix de la source",
"IDC_RADIO_AUTO_START_NONE":"Désactivé",
"IDC_RADIO_AUTO_START_ONE":"Pour un fichier source unique",
"IDC_RADIO_AUTO_START_MULTI":"Pour plusieurs fichiers ou dossiers sources",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Qualité && traitement d'image",
"IDC_STATIC_TRANS_MODE":"Mode de conversion",
"IDC_RADIO_MODE_NOISE_SCALE":"Réduct. bruit && Agrandissemt",
"IDC_RADIO_MODE_SCALE":"Agrandissement seulement",
"IDC_RADIO_MODE_NOISE":"Réduction du bruit seulement",
"IDC_RADIO_AUTO_SCALE":"Agrand. && Réduct. bruit auto",
"IDC_STATIC_JPEG_NOISE_LEVEL":"Réduction du bruit",
"IDC_RADIONOISE_LEVEL0":"Niveau 0",
"IDC_RADIONOISE_LEVEL1":"Niveau 1",
"IDC_RADIONOISE_LEVEL2":"Niveau 2",
"IDC_RADIONOISE_LEVEL3":"Niveau 3",
"IDC_STATIC_SCALE_RATE":"Agrandissement",
"IDC_RADIO_SCALE_RATIO":"Multiplicateur",
"IDC_RADIO_SCALE_WIDTH":"Définir largeur",
"IDC_RADIO_SCALE_HEIGHT":"Définir hauteur",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"Définir largeur && hauteur",
"IDC_STATIC_MODEL":"Modèle",
"IDC_RADIO_MODEL_RGB":"Illustration 2D (modèle RGB)",
"IDC_RADIO_MODEL_PHOTO":"Photo & animé (modèle Photo)",
"IDC_RADIO_MODEL_Y":"Illustration 2D (modèle Y)",
"IDC_RADIO_MODEL_UpResNet10":"Illustration 2D (UpResNet10)",
"IDC_CHECK_TTA":"Utiliser mode TTA",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Vitesse de traitement",
"IDC_STATIC_PROCESSOR":"Utiliser le processeur",
"IDC_RADIO_MODE_GPU":"CUDA (Utiliser cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"Taille de découpage",
"IDC_BUTTON_CHECK_CUDNN":"Vérifier cuDNN",
"IDC_BUTTON_CANCEL":"Annuler",
"IDC_BUTTON_EXEC":"Démarrer",
"IDC_STATIC_LANG_UI":"Langue UI",
"IDC_BUTTON_OUTPUT_REF":"Parcourir",
"IDC_BUTTON_APP_SETTING":"Paramètres",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"Réinit. dossier de sortie",
"IDC_STATIC_ARG_START":"Démarrage comme argument",
"IDC_CHECK_ARG_START_AUTO":"Démarrage auto",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Quitter une fois terminé",
"IDC_STATIC_INPUT_DIR_FIX":"Dossier d'entrée par défaut",
"IDC_STATIC_OUTPUT_DIR_FIX":"Dossier de sortie par défaut",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"Ne pas écraser les fichiers",
"MessageUseProcessorMode":"Processeur utilisé : %s",
"MessageProcessTime":"Temps de traitement : %02d:%02d:%02d.%03d",
"MessageInitTime":"Temps d'initialisation : %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"Temps vérification cuDNN : %02d:%02d:%02d.%03d",
"MessageTitleError":"Erreur",
"MessageScaleRateCheckError":"Le facteur d'agrandissement doit être supérieur à 0,0 et positif.",
"MessageScaleWidthCheckError":"La taille doit être un entier supérieur à 0",
"MessageCropSizeCheckError":"La taille de découpage doit être supérieure à 0",
"MessageInputPathCheckError":"Veuillez spécifier le chemin d'entrée",
"MessageOutputPathCheckError":"Veuillez spécifier le chemin de sortie",
"MessageOutputExtCheckError":"Veuillez spécifier l'extension de sortie",
"MessageInputCheckError":"Le fichier ou dossier d'entrée n'existe pas",
"MessageOutputExtentionCheckError":"Veuillez sélectionner l'extension de sortie",
"MessageOutputQualityCheckError":"La qualité de sortie est hors limites",
"MessageOutputDepthCheckError":"La profondeur de bits de sortie est incorrecte",
"MessageCudaNotFindError":"Le GPU ne peut pas effectuer la conversion\r\nLe pilote CUDA n'est peut-être pas installé. \r\nVeuillez installer le pilote CUDA",
"MessageCudaOldVersionError":"Le GPU ne peut pas effectuer la conversion\r\nLa version du pilote CUDA est peut-être trop ancienne \r\nVeuillez mettre à jour le pilote CUDA",
"MessageTransSuccess":"Conversion réussie",
"MessageErrorHappen":"Une erreur est survenue",
"MessageCreateOutDirError":"Impossible de créer le dossier de sortie\r\n[%s]",
"MessageCancelError":"La conversion a été annulée",
"MessageInvalidParameterError":"Paramètre invalide",
"MessageFailedOpenModelFileError":"Impossible d'ouvrir le fichier de modèle",
"MessageFailedParseModelFileError":"Impossible d'analyser le fichier de modèle",
"MessageFailedConstructModelError":"Impossible de construire le modèle",
"MessageFailedOpenInputFileError":"Impossible d'ouvrir le fichier d'entrée\r\n%s",
"MessageFailedOpenOutputFileError":"Impossible d'enregistrer le fichier produit\r\n%s",
"MessageFailedProcessCaffeError":"Echec du traitement de l'interpolation",
"MessageTitleResult":"Résultat",
"MessagecuDNNOK":"Vous pouvez utiliser cuDNN",
"MessagecuDNNNotFindError":"Impossible d'utiliser cuDNN\r\n[%s] est introuvable",
"MessagecuDNNOldVersionError":"Impossible d'utiliser cuDNN\r\n[%s] est une ancienne version. Veuillez utiliser la v2",
"MessagecuDNNCannotCreateError":"Impossible d'utiliser cuDNN\r\ncÉchec de l'initialisation de cuDNN",
"MessagecuDNNDefautlError":"Impossible d'utiliser cuDNN",
"MessageExtStr":"Formats de fichiers compatibles (%s)",
"MessageAllFileFolder":"Tous les formats (*.*)",
"MessageTitleInputDialog":"Sélectionner un fichier ou un dossier",
"MessageTimeLeftUnknown":"Temps restant : inconnu",
"MessageTimeLeft":"Temps restant estimé",
"MessageNoOverwrite":"Le fichier existe déjà dans la destination : %s",
"MessageCudaOldDeviceError":"Votre version de CUDA est trop ancienne.\r\nVeuillez utiliser Compute Capability 2.0 ou version ultérieure",
"OK":"OK",
"Cancel":"Annuler",
"IDC_STATIC_USE_GPU_NO":"Utiliser GPU n°",
"IDC_RADIO_MODEL_UPCONV_RGB":"Illustration 2D (modèle UpRGB)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Photo (modèle UpPhoto)",
"MessageLogFatalError":"Erreur fatale\r\nLa taille de découpage est peut-être trop grande",
"IDC_RADIO_MODEL_CUNET":"Illustration 2D (modèle CUnet)"
}

105
bin/lang/german.json Normal file
View File

@ -0,0 +1,105 @@
{
"IDC_STATIC_IO_SETTING":"Eingabe/Ausgabe Einstellungen",
"IDC_STATIC_INPUT_PATH":"Eingabepfad\r\n(Datei oder Ordner)",
"IDC_BUTTON_INPUT_REF":"Durchsuchen",
"IDC_STATIC_OUTPUT_PATH":"Ausgabepfad",
"IDC_STATIC_TANS_EXT_LIST":"Eingabedateiendungen",
"IDC_STATIC_OUTPUT_EXT":"Ausgabedateiendung",
"IDC_STATIC_OUTPUT_QUALITY":"Ausgabequalität",
"IDC_STATIC_OUTPUT_DEPTH":"Farbtiefe pro Kanal",
"IDC_STATIC_AUTO_START":"Automatischer Start wenn Eingabedatei ausgewählt wurde",
"IDC_RADIO_AUTO_START_NONE":"Kein automatischer Start",
"IDC_RADIO_AUTO_START_ONE":"Bei einer Eingabedatei",
"IDC_RADIO_AUTO_START_MULTI":"Bei mehreren Eingabedateien/Ordner",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Konvertierungseinstellungen für Bildqualität und Bildverarbeitung",
"IDC_STATIC_TRANS_MODE":"Umwandlungsmodus",
"IDC_RADIO_MODE_NOISE_SCALE":"Entrauschen && Vergrößern",
"IDC_RADIO_MODE_SCALE":"Nur Vergrößern",
"IDC_RADIO_MODE_NOISE":"Nur Entrauschen",
"IDC_RADIO_AUTO_SCALE":"Vergrößern & Auto-Entrauschen",
"IDC_STATIC_JPEG_NOISE_LEVEL":"Entrauschlevel",
"IDC_RADIONOISE_LEVEL0":"Level 0",
"IDC_RADIONOISE_LEVEL1":"Level 1",
"IDC_RADIONOISE_LEVEL2":"Level 2",
"IDC_RADIONOISE_LEVEL3":"Level 3",
"IDC_STATIC_SCALE_RATE":"Vergrößerung",
"IDC_RADIO_SCALE_RATIO":"Größenfaktor setzen",
"IDC_RADIO_SCALE_WIDTH":"Endbreite setzen",
"IDC_RADIO_SCALE_HEIGHT":"Endhöhe setzen",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"Endbreite und Endhöhe setzen",
"IDC_STATIC_MODEL":"Model",
"IDC_RADIO_MODEL_RGB":"2-D illust (RGB Model)",
"IDC_RADIO_MODEL_PHOTO":"Fotografie, Anime",
"IDC_RADIO_MODEL_Y":"2-D illust (Y Model)",
"IDC_RADIO_MODEL_UpResNet10":"2-D illust (UpResNet10)",
"IDC_CHECK_TTA":"TTA Modus nutzen",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Prozesseinstellungen",
"IDC_STATIC_PROCESSOR":"Prozessornutzung",
"IDC_RADIO_MODE_GPU":"CUDA (nutzt cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"Zuschneidegröße",
"IDC_BUTTON_CHECK_CUDNN":"cuDNN überprüfen",
"IDC_BUTTON_CANCEL":"Abbrechen",
"IDC_BUTTON_EXEC":"Starten",
"IDC_STATIC_LANG_UI":"UI Sprache",
"IDC_BUTTON_OUTPUT_REF":"Durchsuchen",
"IDC_BUTTON_APP_SETTING":"Optionen",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"Ausgabepfad zurücksetzen",
"IDC_STATIC_ARG_START":"Mit Startoptionen Booten",
"IDC_CHECK_ARG_START_AUTO":"Starten wenn geöffnet",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Beenden wenn vollständig fertig",
"IDC_STATIC_INPUT_DIR_FIX":"Fixer Eingabeordner",
"IDC_STATIC_OUTPUT_DIR_FIX":"Fixer Ausgabeordner",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"Ausgabedateien nicht überschreiben",
"MessageUseProcessorMode":"Genutzter Prozessor: %s",
"MessageProcessTime":"Umwandlungszeit: %02d:%02d:%02d.%03d",
"MessageInitTime":"Initialisierungszeit: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN-überprüfungszeit: %02d:%02d:%02d.%03d",
"MessageTitleError":"Fehler",
"MessageScaleRateCheckError":"Vergrößerungsfaktor muss größer als 0.0 und positiv sein.",
"MessageScaleWidthCheckError":"Größe muss eine Ganzzahl und größer als 0 sein.",
"MessageCropSizeCheckError":"Teilungsgröße muss größer als 0 sein.",
"MessageInputPathCheckError":"Bitte gebe einen Eingabepfad an.",
"MessageOutputPathCheckError":"Bitte gebe einen Ausgabepfad an.",
"MessageOutputExtCheckError":"Bitte eine Dateiendung für die Ausgabe wählen.",
"MessageInputCheckError":"Eingabedatei oder Ordner existiert nicht.",
"MessageOutputExtentionCheckError":"Bitte die Dateiendung der Ausgabe wählen.",
"MessageOutputQualityCheckError":"Ausgabequalität ist außerhalb des gültigen Bereichs",
"MessageOutputDepthCheckError":"Bittiefe der Ausgabe ist inkorrekt.",
"MessageCudaNotFindError":"Eingabe kann nicht mittels GPU umgewandelt werden.\r\nDer CUDA Treiber ist möglicherweise nicht installiert. \r\nInstalliere bitte den CUDA Treiber.",
"MessageCudaOldVersionError":"Eingabe kann nicht mittels GPU umgewandelt werden.\r\nDie CUDA Treiberversion scheint veraltet.\r\nBitte aktualisiere den CUDA Treiber.",
"MessageTransSuccess":"Erfolgreich umgewandelt",
"MessageErrorHappen":"Ein Fehler ist aufgetreten",
"MessageCreateOutDirError":"Ausgabeordner\r\n[%s]\r\nkonnte nicht erstellt werden",
"MessageCancelError":"Umwandlung wurde abgebrochen",
"MessageInvalidParameterError":"Parameter ist ungültig",
"MessageFailedOpenModelFileError":"Modeldatei konnte nicht geöffnet werden",
"MessageFailedParseModelFileError":"Modeldatei konnte nicht verarbeitet werden",
"MessageFailedConstructModelError":"Model konnte nicht konstruiert werden",
"MessageFailedOpenInputFileError":"Die Eingabedatei %s konnte nicht geöffnet werden",
"MessageFailedOpenOutputFileError":"In die Ausgabedatei %s konnte nicht geschrieben werden",
"MessageFailedProcessCaffeError":"Die Interpolation konnte nicht durchgeführt werden",
"MessageTitleResult":"Ergebnis",
"MessagecuDNNOK":"cuDNN kann genutzt werden",
"MessagecuDNNNotFindError":"cuDNN kann nicht genutzt werden\r\n[%s] konnte nicht gefunden werden",
"MessagecuDNNOldVersionError":"cuDNN kann nicht genutzt werden\r\n[%s] ist eine veraltete Version. Bitte v2 benutzen",
"MessagecuDNNCannotCreateError":"cuDNN kann nicht genutzt werden\r\ncKonnte cuDNN nicht initialisieren",
"MessagecuDNNDefautlError":"cuDNN kann nicht genutzt werden",
"MessageExtStr":"Eingabedateiendungen(%s)",
"MessageAllFileFolder":"Alle Dateien und Ordner(*.*)",
"MessageTitleInputDialog":"Bitte wähle eine Datei oder einen Ordner",
"MessageTimeLeftUnknown":"Restzeit: Unbekannt",
"MessageTimeLeft":"Übrige Zeit",
"MessageNoOverwrite":"Es existiert bereits eine Datei an dem Speicherort: %s",
"MessageCudaOldDeviceError":"Dein CUDA Gerät ist veraltet.\r\nBitte nutze ein Gerät mit Compute Capability 2.0 oder neuer",
"OK":"OK",
"Cancel":"Abbrechen",
"IDC_STATIC_USE_GPU_NO":"Benutze GPU Nr.",
"IDC_RADIO_MODEL_UPCONV_RGB":"2-D illust (UpRGB Model)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Foto (UpPhoto Model)",
"MessageLogFatalError":"Ein fataler Fehler ist aufgetreten.\r\nEventuell ist die Teilungsgröße zu hoch.",
"IDC_STATIC_BATCH_SIZE":"Batchgröße",
"MessageBatchSizeCheckError":"Stapelgröße muss größer als 0 sein",
"IDC_RADIO_MODEL_CUNET":"2-D illust (CUnet Model)",
"MessageCropSizeDivisibleCheckError":"Teilungsgröße bei diesem Model muss durch %d teilbar sein."
}

105
bin/lang/italian.json Normal file
View File

@ -0,0 +1,105 @@
{
"IDC_STATIC_IO_SETTING":"Impostazioni Input/Output",
"IDC_STATIC_INPUT_PATH":"Percorso di Input\r\n(File o Cartelle)",
"IDC_BUTTON_INPUT_REF":"Browse",
"IDC_STATIC_OUTPUT_PATH":"Percorso di Output",
"IDC_STATIC_TANS_EXT_LIST":"Estensioni file in input",
"IDC_STATIC_OUTPUT_EXT":"Estensione di Output",
"IDC_STATIC_OUTPUT_QUALITY":"Qualita Output",
"IDC_STATIC_OUTPUT_DEPTH":"Output depth bits",
"IDC_STATIC_AUTO_START":"Avvio automatico quando vengono impostati i file di input",
"IDC_RADIO_AUTO_START_NONE":"No Avvio Automatico",
"IDC_RADIO_AUTO_START_ONE":"Al inserimento di un file",
"IDC_RADIO_AUTO_START_MULTI":"Al inserimento di più file o di una cartella",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Conversione qualità immagine e impostazioni di elaborazione ",
"IDC_STATIC_TRANS_MODE":"Modalità di conversione",
"IDC_RADIO_MODE_NOISE_SCALE":"Riduci rumore e ingrandisci",
"IDC_RADIO_MODE_SCALE":"Ingrandisci",
"IDC_RADIO_MODE_NOISE":"eliminazione delle impurità",
"IDC_RADIO_AUTO_SCALE":"Ingrandisci e elimina le inpurità in automatico",
"IDC_STATIC_JPEG_NOISE_LEVEL":"Livello di eliminazione delle impurità",
"IDC_RADIONOISE_LEVEL0":"Livello 0",
"IDC_RADIONOISE_LEVEL1":"Livello 1",
"IDC_RADIONOISE_LEVEL2":"Livello 2",
"IDC_RADIONOISE_LEVEL3":"Livello 3",
"IDC_STATIC_SCALE_RATE":"Dimensione dell'ingrandimento",
"IDC_RADIO_SCALE_RATIO":"Imposta rate",
"IDC_RADIO_SCALE_WIDTH":"Imposta trans width",
"IDC_RADIO_SCALE_HEIGHT":"Imposta trans height",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"Imposta trans width e height",
"IDC_STATIC_MODEL":"Modello",
"IDC_RADIO_MODEL_RGB":"2-D illust (RGB Model)",
"IDC_RADIO_MODEL_PHOTO":"Photography, Anime",
"IDC_RADIO_MODEL_Y":"2-D illust (Y Model)",
"IDC_RADIO_MODEL_UpResNet10":"2-D illust (UpResNet10)",
"IDC_CHECK_TTA":"Usa la modalita TTA",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Impostazioni della velocità di elaborazione",
"IDC_STATIC_PROCESSOR":"Usa processore",
"IDC_RADIO_MODE_GPU":"CUDA (Usa cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"Split size",
"IDC_BUTTON_CHECK_CUDNN":"Controlla cuDNN",
"IDC_BUTTON_CANCEL":"Cancella",
"IDC_BUTTON_EXEC":"Avvia",
"IDC_STATIC_LANG_UI":"Lingua UI",
"IDC_BUTTON_OUTPUT_REF":"Browse",
"IDC_BUTTON_APP_SETTING":"Impostazioni App",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"Resetta cartella di output",
"IDC_STATIC_ARG_START":"Avvia con Arg",
"IDC_CHECK_ARG_START_AUTO":"Avvia Quando Lanciato",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Esci quando completato con successo",
"IDC_STATIC_INPUT_DIR_FIX":"Cartella di input prestabilita",
"IDC_STATIC_OUTPUT_DIR_FIX":"Cartella di output prestabilita",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"Non sovrascrivere file di output",
"MessageUseProcessorMode":"Processore usato: %s",
"MessageProcessTime":"Tempo di elaborazione: %02d:%02d:%02d.%03d",
"MessageInitTime":"Tempo di inizializzazione: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"Tempo di controllo cuDNN: %02d:%02d:%02d.%03d",
"MessageTitleError":"Errore",
"MessageScaleRateCheckError":"Il fattore di ingrandimento deve essere maggiore di 0,0 e positivo",
"MessageScaleWidthCheckError":"La dimensione deve essere un numero intero maggiore di 0.",
"MessageCropSizeCheckError":"La dimensione della divisione deve essere maggiore di 0",
"MessageInputPathCheckError":"Si prega di specificare il percorso di input",
"MessageOutputPathCheckError":"Si prega di specificare il percorso di output",
"MessageOutputExtCheckError":"Si prega di specificare l'estensione di output",
"MessageInputCheckError":"Il file o la cartella di input non esiste",
"MessageOutputExtentionCheckError":"Seleziona l'estensione di output",
"MessageOutputQualityCheckError":"La qualità dell'output è fuori dal intervallo",
"MessageOutputDepthCheckError":"I bit di profondità di output non sono corretti",
"MessageCudaNotFindError":"L'input non puo essere elaborato dalla GPU\r\n I driver CUDA potrebbero non essere stati installati. \r\nPer favore installa i driver CUDA",
"MessageCudaOldVersionError":"L'input non puo essere elaborato dalla GPU\r\n I driver CUDA potrebbero non essere aggiornati. \r\nPer favore aggiorna i driver CUDA",
"MessageTransSuccess":"Convertito con successo",
"MessageErrorHappen":"C'è stato un errore",
"MessageCreateOutDirError":"Cartella di Output\r\n[%s]\r\nCreazione fallita",
"MessageCancelError":"L'elaborazione è stata bloccata",
"MessageInvalidParameterError":"Parametro non valido",
"MessageFailedOpenModelFileError":"Errore nell'apertura del file del modello",
"MessageFailedParseModelFileError":"Impossibile analizzare il file del modello",
"MessageFailedConstructModelError":"Impossibile costruire il modello",
"MessageFailedOpenInputFileError":"Errore nell'apertura del file %s",
"MessageFailedOpenOutputFileError":"Impossibile scrivere nel file di output %s",
"MessageFailedProcessCaffeError":"Impossibile elaborare l'interpolazione",
"MessageTitleResult":"Risultato",
"MessagecuDNNOK":"cuDNN è disponibile",
"MessagecuDNNNotFindError":"cuDNN non puo essere usato\r\n[%s]non trovato",
"MessagecuDNNOldVersionError":"cuDNN non puo essere usato\r\n[%s]è una vecchia versione, per favore usa la versione v2",
"MessagecuDNNCannotCreateError":"cuDNN non puo essere usato\r\ncInizializzazione di cuDNN fallita",
"MessagecuDNNDefautlError":"cuDNN non puo essere usato",
"MessageExtStr":"Input file extensions(%s)",
"MessageAllFileFolder":"Tutti i file e le cartelle(*.*)",
"MessageTitleInputDialog":"Perfavore seleziona il file o la cartella di input",
"MessageTimeLeftUnknown":"Tempo mancante: Sconosciuto",
"MessageTimeLeft":"Tempo Mancante",
"MessageNoOverwrite":"File gia esistente in: %s",
"MessageCudaOldDeviceError":"Il tuo dispositivo CUDA è troppo vecchio.\r\nPer favore usa un dispositivo con Compute Capability 2.0 o superiore",
"OK":"OK",
"Cancel":"Cancella",
"IDC_STATIC_USE_GPU_NO":"Usa la GPU n°",
"IDC_RADIO_MODEL_UPCONV_RGB":"2-D illust (UpRGB Model)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Photo (UpPhoto Model)",
"MessageLogFatalError":"Si è verificato un errore irreversibile.\r\nc'è la possibilità che la dimensione dello split sia troppo grande",
"IDC_STATIC_BATCH_SIZE":"Batch size",
"MessageBatchSizeCheckError":"La dimensione del batch deve essere maggiore di 0",
"IDC_RADIO_MODEL_CUNET":"2-D illust (CUnet Model)",
"MessageCropSizeDivisibleCheckError":"La dimensione della divisione di questo modello deve essere divisibile per %d"
}

View File

@ -17,7 +17,8 @@
"IDC_RADIO_MODE_SCALE":"拡大",
"IDC_RADIO_MODE_NOISE":"ノイズ除去",
"IDC_RADIO_AUTO_SCALE":"ノイズ除去(自動判別)と拡大",
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEGイズ除去レベル",
"IDC_STATIC_JPEG_NOISE_LEVEL":"ノイズ除去レベル",
"IDC_RADIONOISE_LEVEL0":"レベル0",
"IDC_RADIONOISE_LEVEL1":"レベル1",
"IDC_RADIONOISE_LEVEL2":"レベル2",
"IDC_RADIONOISE_LEVEL3":"レベル3",
@ -25,10 +26,12 @@
"IDC_RADIO_SCALE_RATIO":"拡大率で指定",
"IDC_RADIO_SCALE_WIDTH":"変換後の横幅で指定",
"IDC_RADIO_SCALE_HEIGHT":"変換後の縦幅で指定",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"変換後の縦横幅で指定",
"IDC_STATIC_MODEL":"モデル",
"IDC_RADIO_MODEL_RGB":"2次元イラスト (RGBモデル)",
"IDC_RADIO_MODEL_PHOTO":"写真・アニメ (Photoモデル)",
"IDC_RADIO_MODEL_Y":"2次元イラスト2 (Yモデル)",
"IDC_RADIO_MODEL_Y":"2次元イラスト (Yモデル)",
"IDC_RADIO_MODEL_UpResNet10":"2次元イラスト (UpResNet10)",
"IDC_CHECK_TTA":"TTAモードを使う",
"IDC_STATIC_PROCESS_SPEED_SETTING":"処理速度設定",
"IDC_STATIC_PROCESSOR":"使用プロセッサー",
@ -47,7 +50,7 @@
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"成功時に終了する",
"IDC_STATIC_INPUT_DIR_FIX":"入力参照時\r\n固定フォルダ",
"IDC_STATIC_OUTPUT_DIR_FIX":"出力参照時\r\n固定フォルダ",
"IDC_CHECK_OUTPUT_NO_OVERWIRITE":"出力ファイルを上書きしない",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"出力ファイルを上書きしない",
"MessageUseProcessorMode":"使用プロセッサーモード: %s",
"MessageProcessTime":"処理時間: %02d:%02d:%02d.%03d",
"MessageInitTime":"初期化時間: %02d:%02d:%02d.%03d",
@ -85,10 +88,18 @@
"MessageExtStr":"指定された変換対象拡張子(%s)",
"MessageAllFileFolder":"すべてのファイル、フォルダ(*.*)",
"MessageTitleInputDialog":"入力するファイルかフォルダを選択してください",
"MessageTimeLeftUnkown":"残り時間: 不明",
"MessageTimeLeftUnknown":"残り時間: 不明",
"MessageTimeLeft":"残り時間",
"MessageNoOverwrite":"出力先に既にファイルが存在します: %s",
"MessageCudaOldDeviceError":"CUDAデバイスが古いです。\r\nCompute Capability 2.0以上のデバイスを使用してください",
"OK":"OK",
"Cancel":"キャンセル"
"Cancel":"キャンセル",
"IDC_STATIC_USE_GPU_NO":"使用GPU No",
"IDC_RADIO_MODEL_UPCONV_RGB":"2次元イラスト (UpRGBモデル)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"写真・アニメ (UpPhotoモデル)",
"MessageLogFatalError":"致命的なエラーが発生しました。\r\n分割サイズが大きすぎる可能性があります",
"IDC_STATIC_BATCH_SIZE":"バッチサイズ",
"MessageBatchSizeCheckError":"バッチサイズは0より大きい整数である必要があります",
"IDC_RADIO_MODEL_CUNET":"2次元イラスト (CUnet)",
"MessageCropSizeDivisibleCheckError":"このモデルの分割サイズは %d で割り切れる必要があります"
}

View File

@ -1,85 +1,105 @@
{
{
"IDC_STATIC_IO_SETTING":"입출력 설정",
"IDC_STATIC_INPUT_PATH":"입력 경로\r\n(파일 폴더)",
"IDC_BUTTON_INPUT_REF":"찾기",
"IDC_STATIC_INPUT_PATH":"입력 경로\r\n(파일 또는 폴더)",
"IDC_BUTTON_INPUT_REF":"설정",
"IDC_STATIC_OUTPUT_PATH":"출력 경로",
"IDC_STATIC_TANS_EXT_LIST":"변환할 파일 확장자",
"IDC_STATIC_TANS_EXT_LIST":"변환 대상 확장자 종류",
"IDC_STATIC_OUTPUT_EXT":"출력 확장자",
"IDC_STATIC_OUTPUT_QUALITY":"출력 화질 설정",
"IDC_STATIC_OUTPUT_DEPTH":"출력 컬러 비트",
"IDC_STATIC_AUTO_START":"",
"IDC_STATIC_OUTPUT_DEPTH":"색상 비트수 설정",
"IDC_STATIC_AUTO_START":"퀵 스타트 설정",
"IDC_RADIO_AUTO_START_NONE":"자동 시작 안 함",
"IDC_RADIO_AUTO_START_ONE":"파일 입력시 바로 시작",
"IDC_RADIO_AUTO_START_MULTI":"폴더 또는 여러 파일을\r\n입력하면 시작",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"변환 이미지 화질 && 처리 설정",
"IDC_RADIO_AUTO_START_ONE":"파일 추가시 바로 시작",
"IDC_RADIO_AUTO_START_MULTI":"폴더 또는 여러 파일\r\n추가시 바로 시작",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"변환 화질 및 처리 설정",
"IDC_STATIC_TRANS_MODE":"변환 모드",
"IDC_RADIO_MODE_NOISE_SCALE":"노이즈 제거 && 확대",
"IDC_RADIO_MODE_NOISE_SCALE":"확대 및 노이즈 제거",
"IDC_RADIO_MODE_SCALE":"확대",
"IDC_RADIO_MODE_NOISE":"노이즈 제거",
"IDC_RADIO_AUTO_SCALE":"자동 노이즈 제거 && 확대",
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG 노이즈 제거 단계",
"IDC_RADIO_AUTO_SCALE":"노이즈 제거(자동판별)&& 확대",
"IDC_STATIC_JPEG_NOISE_LEVEL":"노이즈 제거 수준",
"IDC_RADIONOISE_LEVEL0":"0단계",
"IDC_RADIONOISE_LEVEL1":"1단계",
"IDC_RADIONOISE_LEVEL2":"2단계",
"IDC_RADIONOISE_LEVEL3":"3단계",
"IDC_STATIC_SCALE_RATE":"확대 크기",
"IDC_STATIC_SCALE_RATE":"확대 설정",
"IDC_RADIO_SCALE_RATIO":"확대율로 설정",
"IDC_RADIO_SCALE_WIDTH":"변환 후의 가로 너비",
"IDC_RADIO_SCALE_HEIGHT":"변환 후의 세로 너비",
"IDC_RADIO_SCALE_WIDTH":"변환 후 가로 길이",
"IDC_RADIO_SCALE_HEIGHT":"변환 후 세로 길이",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"'가로 세로'로 확대",
"IDC_STATIC_MODEL":"모델",
"IDC_RADIO_MODEL_RGB":"2D 일러스트 (RGB 모델)",
"IDC_RADIO_MODEL_PHOTO":"사진 && 애니 (Photo모델)",
"IDC_RADIO_MODEL_Y":"2D 일러스트 (Y 모델)",
"IDC_RADIO_MODEL_RGB":"2D 일러스트 (RGB모델)",
"IDC_RADIO_MODEL_PHOTO":"사진/애니메이션 (Photo모델)",
"IDC_RADIO_MODEL_Y":"2D 일러스트 (Y모델)",
"IDC_RADIO_MODEL_UpResNet10":"2D 일러스트 (UpResNet10모델)",
"IDC_CHECK_TTA":"TTA 모드 사용",
"IDC_STATIC_PROCESS_SPEED_SETTING":"처리 속도 설정",
"IDC_STATIC_PROCESSOR":"",
"IDC_RADIO_MODE_GPU":"CUDA (cuDNN 사용)",
"IDC_STATIC_PROCESSOR":"사용할 프로세서",
"IDC_RADIO_MODE_GPU":"CUDA (cuDNN 우선)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"분할 크기",
"IDC_BUTTON_CHECK_CUDNN":"cuDNN 확인",
"IDC_BUTTON_CHECK_CUDNN":"cuDNN 검사",
"IDC_BUTTON_CANCEL":"취소",
"IDC_BUTTON_EXEC":"시작",
"IDC_STATIC_LANG_UI":"UI 언어",
"IDC_BUTTON_OUTPUT_REF":"찾기",
"MessageUseProcessorMode":"사용한 프로세서 : %s",
"MessageProcessTime":"처리 시간: %02d:%02d:%02d.%03d",
"MessageInitTime":"초기화 시간: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN 확인 시간: %02d:%02d:%02d.%03d",
"IDC_BUTTON_OUTPUT_REF":"설정",
"IDC_BUTTON_APP_SETTING":"환경 설정",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"출력 경로 초기화",
"IDC_STATIC_ARG_START":"인수 추가 실행시 설정",
"IDC_CHECK_ARG_START_AUTO":"즉시 변환 시작",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"오류가 없으면 자동 종료",
"IDC_STATIC_INPUT_DIR_FIX":"입력 경로\n기본 폴더",
"IDC_STATIC_OUTPUT_DIR_FIX":"출력 경로\n기본 폴더",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"출력 파일을 덮어쓰지 않음",
"MessageUseProcessorMode":"사용한 프로세서 모드 : %s",
"MessageProcessTime":"처리 시간 : %02d:%02d:%02d.%03d",
"MessageInitTime":"초기화 시간 : %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"cuDNN 검사 시간 : %02d:%02d:%02d.%03d",
"MessageTitleError":"오류",
"MessageScaleRateCheckError":"확대 비율은 반드시 0.0 이상의 숫자를 입력하십시오.",
"MessageScaleRateCheckError":"확대 비율은 0.0 이상의 숫자를 입력해 주십시오.",
"MessageScaleWidthCheckError":"확대 크기는 0보다 큰 정수여야 합니다.",
"MessageCropSizeCheckError":"분할 크기는 반드시 0 이상이어야 합니다.",
"MessageInputPathCheckError":"입력 경로를 선택해 주십시오.",
"MessageOutputPathCheckError":"출력 경로를 선택해 주십시오.",
"MessageOutputExtCheckError":"출력할 확장자를 선택해 주십시오.",
"MessageInputCheckError":"선택한 파일이나 폴더가 존재하지 않습니다.",
"MessageOutputExtentionCheckError":"출력할 확장자가 잘못되었습니다.",
"MessageOutputQualityCheckError":"출력 화질이 범위를 초과했습니다.",
"MessageOutputDepthCheckError":"출력 비트수가 맞지 않습니다.",
"MessageCudaNotFindError":"선택한 파일이 GPU로 변환되지 못했습니다.\r\nCUDA 드라이버가 설치되어 있지 않은 것일 수 있습니다. \r\nCUDA 드라이버를 다시 설치해 주십시오.",
"MessageCudaOldVersionError":"선택한 파일이 GPU로 변환되지 못했습니다.\r\nCUDA 드라이버가 너무 오래된 것일 수도 있습니다.\r\nCUDA 드라이버를 다시 설치해 주십시오.",
"MessageTransSuccess":"변환 성공",
"MessageCropSizeCheckError":"분할 크기는 0 이상이어야 합니다.",
"MessageInputPathCheckError":"입력 경로를 설정해 주십시오.",
"MessageOutputPathCheckError":"출력 경로를 설정해 주십시오.",
"MessageOutputExtCheckError":"출력 확장자를 설정해 주십시오.",
"MessageInputCheckError":"입력 파일 혹은 폴더가 존재하지 않습니다.",
"MessageOutputExtentionCheckError":"출력 확장자를 설정해 주십시오.",
"MessageOutputQualityCheckError":"출력 화질이 설정 가능한 범위를 벗어났습니다.",
"MessageOutputDepthCheckError":"출력할 색상 비트수가 올바르지 않습니다.",
"MessageCudaNotFindError":"GPU를 사용하여 변환할 수 없습니다.\r\nCUDA 드라이버가 설치되어 있지 않은 것일 수 있습니다. \r\nCUDA 드라이버를 다시 설치해 주십시오.",
"MessageCudaOldVersionError":"선택한 파일이 GPU를 사용하여 변환하지 못했습니다.\r\nCUDA 드라이버가 너무 오래된 것일 수도 있습니다.\r\n최신 CUDA 드라이버를 설치해 주십시오.",
"MessageTransSuccess":"변환 성공했습니다.",
"MessageErrorHappen":"오류가 발생했습니다.",
"MessageCreateOutDirError":"출력할 폴더\r\n「%s」\r\n을 만드는 데 실패했습니다.",
"MessageCreateOutDirError":"출력 폴더\r\n'%s'\r\n를 만들지 못했습니다.",
"MessageCancelError":"변환이 취소되었습니다.",
"MessageInvalidParameterError":"설정값이 잘못되었습니다.",
"MessageFailedOpenModelFileError":"모델 파일을 여는 데 실패했습니다.",
"MessageFailedParseModelFileError":"모델 파일을 구문 분석하는 데 실패했습니다.",
"MessageFailedConstructModelError":"모델을 구성하는 데 실패했습니다.",
"MessageFailedOpenInputFileError":"파일 %s를 여는 데 실패했습니다.",
"MessageFailedOpenOutputFileError":"%s로 변환하는 데 실패했습니다.",
"MessageFailedOpenModelFileError":"모델 파일을 열지 못했습니다.",
"MessageFailedParseModelFileError":"모델 파일을 구문 분석하지 못했습니다.",
"MessageFailedConstructModelError":"모델 구성에 실패했습니다.",
"MessageFailedOpenInputFileError":"파일 %s을 불러오지 못했습니다.",
"MessageFailedOpenOutputFileError":"%s로 변환하지 못했습니다.",
"MessageFailedProcessCaffeError":"보정 처리에 실패했습니다.",
"MessageTitleResult":"결과",
"MessagecuDNNOK":"cuDNN을 사용할 수 있습니다.",
"MessagecuDNNNotFindError":"cuDNN을 사용할 수 없습니다. \r\n「%s」 파일이 없습니다.",
"MessagecuDNNOldVersionError":"cuDNN을 사용할 수 없습니다.\r\n「%s」 파일이 오래되었습니다. %s를 사용해 주십시오.",
"MessagecuDNNCannotCreateError":"cuDNN을 사용할 수 없습니다.\r\n cuDNN을 초기화하는 데 실패했습니다.",
"MessagecuDNNNotFindError":"cuDNN을 사용할 수 없습니다. \r\n%s가 없습니다.",
"MessagecuDNNOldVersionError":"cuDNN을 사용할 수 없습니다.\r\n%s의 버전이 오래 되었습니다. %s를 사용해 주십시오.",
"MessagecuDNNCannotCreateError":"cuDNN을 사용할 수 없습니다.\r\n cuDNN 초기화에 실패했습니다.",
"MessagecuDNNDefautlError":"cuDNN을 사용할 수 없습니다.",
"MessageExtStr":"입력 파일 확장자(%s)",
"MessageExtStr":"변환 대상 확장자(%s)",
"MessageAllFileFolder":"모든 파일과 폴더(*.*)",
"MessageTitleInputDialog":"입력할 파일 또는 폴더를 선택해 주십시오.",
"MessageTimeLeftUnkown":"남은 시간: 불명",
"MessageTitleInputDialog":"변환할 파일 또는 폴더를 선택해 주십시오.",
"MessageTimeLeftUnknown":"남은 시간 : 알 수 없음",
"MessageTimeLeft":"남은 시간",
"MessageNoOverwrite":"출력 경로에 이미 파일이 존재합니다.: %s",
"MessageNoOverwrite":"출력 경로에 이미 %s 파일이 존재합니다.",
"MessageCudaOldDeviceError":"CUDA 장치가 오래 되었습니다.r\nCompute Capability 3.0 이상의 장치를 사용해 주십시오.",
"OK":"확인",
"Cancel":"취소"
"Cancel":"취소",
"IDC_STATIC_USE_GPU_NO":"사용할 GPU 번호",
"IDC_RADIO_MODEL_UPCONV_RGB":"2D 일러스트 (UpRGB모델)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"사진/애니메이션 (UpPhoto모델)",
"MessageLogFatalError":"치명적인 오류가 발생했습니다.\r\n분할 크기가 너무 크게 설정되어 있을 가능성이 있습니다.",
"IDC_STATIC_BATCH_SIZE":"bat 크기",
"MessageBatchSizeCheckError":"bat 크기는 0보다 큰 정수여야 합니다.",
"IDC_RADIO_MODEL_CUNET":"2D 일러스트 (CUnet모델)",
"MessageCropSizeDivisibleCheckError":"이 모델의 분할 크기는 %d 로 나눠져야만 합니다."
}

View File

@ -0,0 +1,105 @@
{
"IDC_STATIC_IO_SETTING":"Config Entrada/Saída",
"IDC_STATIC_INPUT_PATH":"Entrada\r\n(arquivo ou pasta)",
"IDC_BUTTON_INPUT_REF":"Abrir",
"IDC_STATIC_OUTPUT_PATH":"Saída",
"IDC_STATIC_TANS_EXT_LIST":"Extensão da entrada",
"IDC_STATIC_OUTPUT_EXT":"Extensão da saída ",
"IDC_STATIC_OUTPUT_QUALITY":"Qualidade da saída",
"IDC_STATIC_OUTPUT_DEPTH":"Depth bits da saída",
"IDC_STATIC_AUTO_START":"Iniciar direto ao inserir arquivo",
"IDC_RADIO_AUTO_START_NONE":"Sem auto início",
"IDC_RADIO_AUTO_START_ONE":"Ao colocar um arquivo",
"IDC_RADIO_AUTO_START_MULTI":"Ao colocar vários arquivos ou uma pasta",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Qualidade da Imagem de Conversão e Config de Processamento",
"IDC_STATIC_TRANS_MODE":"Modo de Conversão",
"IDC_RADIO_MODE_NOISE_SCALE":"Reduzir Ruído e Aumentar",
"IDC_RADIO_MODE_SCALE":"Somente Aumentar",
"IDC_RADIO_MODE_NOISE":"Somente Reduzir Ruído",
"IDC_RADIO_AUTO_SCALE":"Aumentar e Auto Reduzir Ruído",
"IDC_STATIC_JPEG_NOISE_LEVEL":"Reduzir Ruído",
"IDC_RADIONOISE_LEVEL0":"Nível 0",
"IDC_RADIONOISE_LEVEL1":"Nível 1",
"IDC_RADIONOISE_LEVEL2":"Nível 2",
"IDC_RADIONOISE_LEVEL3":"Nível 3",
"IDC_STATIC_SCALE_RATE":"Tamanho do Aumentar",
"IDC_RADIO_SCALE_RATIO":"Mudar por taxa",
"IDC_RADIO_SCALE_WIDTH":"Mudar por largura",
"IDC_RADIO_SCALE_HEIGHT":"Mudar por altura",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"Mudar por largura/altura",
"IDC_STATIC_MODEL":"Modelo",
"IDC_RADIO_MODEL_RGB":"Ilustração 2-D (Modelo RGB)",
"IDC_RADIO_MODEL_PHOTO":"Fotografia, Anime",
"IDC_RADIO_MODEL_Y":"Ilustração 2-D (Modelo Y)",
"IDC_RADIO_MODEL_UpResNet10":"Ilustração 2-D (UpResNet10)",
"IDC_CHECK_TTA":"Usar modo TTA",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Config Velocidade de Processamento",
"IDC_STATIC_PROCESSOR":"Usar Processador",
"IDC_RADIO_MODE_GPU":"CUDA (usa cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"Tamanho da divisão",
"IDC_BUTTON_CHECK_CUDNN":"Checar cuDNN",
"IDC_BUTTON_CANCEL":"Cancelar",
"IDC_BUTTON_EXEC":"Iniciar",
"IDC_STATIC_LANG_UI":"Idioma",
"IDC_BUTTON_OUTPUT_REF":"Abrir",
"IDC_BUTTON_APP_SETTING":"Config do App",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"Resetar dir. saída",
"IDC_STATIC_ARG_START":"Iniciar como argumento",
"IDC_CHECK_ARG_START_AUTO":"Iniciar quando lançado",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Sair quando completado com sucesso",
"IDC_STATIC_INPUT_DIR_FIX":"Pasta fixa de entrada",
"IDC_STATIC_OUTPUT_DIR_FIX":"Pasta fixa de saída",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"Não sobrescrever arquivos de saída",
"MessageUseProcessorMode":"Processador Usado: %s",
"MessageProcessTime":"Tempo de Processamento: %02d:%02d:%02d.%03d",
"MessageInitTime":"Tempo de inicialização: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"Tempo de checagem cuDNN: %02d:%02d:%02d.%03d",
"MessageTitleError":"Erro",
"MessageScaleRateCheckError":"Fator de escala deve ser maior que 0.0 e positivo",
"MessageScaleWidthCheckError":"Tamanho deve ser um inteiro maior que 0.",
"MessageCropSizeCheckError":"Tamanho da divisão deve ser maior que 0",
"MessageInputPathCheckError":"Por favor especifique o caminho de entrada",
"MessageOutputPathCheckError":"Por favor especifique o caminho de saída",
"MessageOutputExtCheckError":"Por favor especifique a extensão de saída",
"MessageInputCheckError":"Arquivo de entrada ou pasta não existe",
"MessageOutputExtentionCheckError":"Por favor selecione a extensão de saída",
"MessageOutputQualityCheckError":"Qualidade de saída está fora do limite",
"MessageOutputDepthCheckError":"Profundidade de bits está incorreta",
"MessageCudaNotFindError":"Entrada não pode ser convertida pela GPU\r\nO driver CUDA não está instalado. \r\nPor favor instale o driver CUDA",
"MessageCudaOldVersionError":"Entrada não pode ser convertida pela GPU\r\nA versão do driver CUDA é antiga \r\nPor favor atualize o driver CUDA",
"MessageTransSuccess":"Convertido com sucesso",
"MessageErrorHappen":"Ocorreu um erro",
"MessageCreateOutDirError":"Pasta de saída\r\n[%s]\r\ncriação falhou",
"MessageCancelError":"Conversão foi cancelada",
"MessageInvalidParameterError":"Parâmetro não é válido",
"MessageFailedOpenModelFileError":"Falha ao abrir o arquivo de modelo",
"MessageFailedParseModelFileError":"Falha ao analizar o arquivo de modelo",
"MessageFailedConstructModelError":"Falha ao construir o modelo",
"MessageFailedOpenInputFileError":"Falha ao abrir o arquivo de entrada %s",
"MessageFailedOpenOutputFileError":"Falha para escrever o arquivo de saída %s",
"MessageFailedProcessCaffeError":"Falha ao processar a interpolação",
"MessageTitleResult":"Resultado",
"MessagecuDNNOK":"cuDNN pode ser usado",
"MessagecuDNNNotFindError":"cuDNN não pode ser usado\r\n[%s]não encontrado",
"MessagecuDNNOldVersionError":"cuDNN não pode ser usado\r\n[%s]é uma versão antiga. Por favor use a v2",
"MessagecuDNNCannotCreateError":"cuDNN não pode ser usado\r\ncFalha ao iniciar o cuDNN",
"MessagecuDNNDefautlError":"cuDNN não pode ser usado",
"MessageExtStr":"Extensões do arquivo de entrada(%s)",
"MessageAllFileFolder":"Todos os arquivos e pastas(*.*)",
"MessageTitleInputDialog":"Por favor selecione o arquivo ou pasta de entrada",
"MessageTimeLeftUnknown":"Tempo Restante: Desconhecido",
"MessageTimeLeft":"Tempo Restante",
"MessageNoOverwrite":"Arquivo já existe no destino: %s",
"MessageCudaOldDeviceError":"Seu dispositivo CUDA é antigo.\r\nPor favor use um dispositivo com Compute Capability 2.0 ou superior",
"OK":"OK",
"Cancel":"Cancelar",
"IDC_STATIC_USE_GPU_NO":"Usar GPU Nº",
"IDC_RADIO_MODEL_UPCONV_RGB":"Ilustração 2-D (Modelo UpRGB)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Foto (Modelo UpPhoto)",
"MessageLogFatalError":"Um erro fatal ocorreu.\r\nHá a possibilidade do tamanho da divisão ser muito grande",
"IDC_STATIC_BATCH_SIZE":"Tamanho da Batch",
"MessageBatchSizeCheckError":"Tamanho da batch deve ser maior que 0",
"IDC_RADIO_MODEL_CUNET":"Ilustração 2-D (Modelo CUnet)",
"MessageCropSizeDivisibleCheckError":"Tamanho da divisão deste modelo deve ser divisível por %d"
}

102
bin/lang/russian.json Normal file
View File

@ -0,0 +1,102 @@
{
"IDC_STATIC_IO_SETTING":"Настройки Ввода/Вывода",
"IDC_STATIC_INPUT_PATH":"Исходный путь\r\n(файл или папка)",
"IDC_BUTTON_INPUT_REF":"Обзор",
"IDC_STATIC_OUTPUT_PATH":"Конечный путь",
"IDC_STATIC_TANS_EXT_LIST":"Расширения исходных файлов",
"IDC_STATIC_OUTPUT_EXT":"Конечное расширение",
"IDC_STATIC_OUTPUT_QUALITY":"Качество",
"IDC_STATIC_OUTPUT_DEPTH":"Глубина цвета",
"IDC_STATIC_AUTO_START":"Запускать сразу при условии",
"IDC_RADIO_AUTO_START_NONE":"Без автозапуска",
"IDC_RADIO_AUTO_START_ONE":"При добавлении файла",
"IDC_RADIO_AUTO_START_MULTI":"При добавлении папки или нескольких файлов",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Параметры обработки изображения",
"IDC_STATIC_TRANS_MODE":"Режим преобразования",
"IDC_RADIO_MODE_NOISE_SCALE":"Убрать шум и увеличить",
"IDC_RADIO_MODE_SCALE":"Только увеличить",
"IDC_RADIO_MODE_NOISE":"Только убрать шум",
"IDC_RADIO_AUTO_SCALE":"Авто-убрать шум и увелич.",
"IDC_STATIC_JPEG_NOISE_LEVEL":"Удаление шума",
"IDC_RADIONOISE_LEVEL0":"Уровень 0",
"IDC_RADIONOISE_LEVEL1":"Уровень 1",
"IDC_RADIONOISE_LEVEL2":"Уровень 2",
"IDC_RADIONOISE_LEVEL3":"Уровень 3",
"IDC_STATIC_SCALE_RATE":"Тип увеличения",
"IDC_RADIO_SCALE_RATIO":"По величине",
"IDC_RADIO_SCALE_WIDTH":"По ширине",
"IDC_RADIO_SCALE_HEIGHT":"По высоте",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"По ширине и высоте",
"IDC_STATIC_MODEL":"Профиль",
"IDC_RADIO_MODEL_RGB":"2D изображ. (Профиль RGB)",
"IDC_RADIO_MODEL_PHOTO":"Фотография, Аниме",
"IDC_RADIO_MODEL_Y":"2D изображ. (Профиль Y)",
"IDC_RADIO_MODEL_UpResNet10":"2D изображ. (UpResNet10)",
"IDC_CHECK_TTA":"В режиме TTA ",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Скорость обработки",
"IDC_STATIC_PROCESSOR":"Устройство обработки",
"IDC_RADIO_MODE_GPU":"GPU(CUDA/cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"Размер блока",
"IDC_BUTTON_CHECK_CUDNN":"Тест cuDNN",
"IDC_BUTTON_CANCEL":"Отмена",
"IDC_BUTTON_EXEC":"Запуск",
"IDC_STATIC_LANG_UI":"Язык",
"IDC_BUTTON_OUTPUT_REF":"Обзор",
"IDC_BUTTON_APP_SETTING":"Настройки",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"Сброс",
"IDC_STATIC_ARG_START":"При запуске с параметром",
"IDC_CHECK_ARG_START_AUTO":"Автозапуск обработки",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Автозакрытие в конце",
"IDC_STATIC_INPUT_DIR_FIX":"Заданная исходная папка",
"IDC_STATIC_OUTPUT_DIR_FIX":"Заданная конечная папка",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"Не перезаписывать файлы",
"MessageUseProcessorMode":"Использован процессор: %s",
"MessageProcessTime":"Время обработки: %02d:%02d:%02d.%03d",
"MessageInitTime":"Время инициализации: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"Время проверки cuDNN: %02d:%02d:%02d.%03d",
"MessageTitleError":"Ошибка",
"MessageScaleRateCheckError":"Величина увеличения должна быть положительным числом больше 0.0",
"MessageScaleWidthCheckError":"Размер должен быть целым числом больше 0.",
"MessageCropSizeCheckError":"Размер блока должен быть больше 0",
"MessageInputPathCheckError":"Пожалуйста укажите начальный путь",
"MessageOutputPathCheckError":"Пожалуйста укажите конечный путь",
"MessageOutputExtCheckError":"Пожалуйста укажите расширение конечного файла",
"MessageInputCheckError":"Исходный файл или папка не существуют",
"MessageOutputExtentionCheckError":"Пожалуйста укажите расширение конечного файла",
"MessageOutputQualityCheckError":"Параметр [Качество] за пределом допустимого диапазона",
"MessageOutputDepthCheckError":"Значение конечной глубины цвета недействительно",
"MessageCudaNotFindError":"Исходные файлы не могут быть преобразованы GPU\r\nДрайвер CUDA может быть не установлен. \r\nПожалуйста установите драйвер CUDA",
"MessageCudaOldVersionError":"Исходный файл не может быть преобразован GPU\r\nВерсия драйвера CUDA возможно устарела. \r\nПожалуйста обновите драйвер CUDA",
"MessageTransSuccess":"Успешно сконвертировано",
"MessageErrorHappen":"Произошла ошибка",
"MessageCreateOutDirError":"[%s]\r\n Не удалось создать конечную папку",
"MessageCancelError":"Преобразование было отменено",
"MessageInvalidParameterError":"Неверный параметр",
"MessageFailedOpenModelFileError":"Не удалось открыть файл профиля",
"MessageFailedParseModelFileError":"Не удалось пропарсить файл профиля",
"MessageFailedConstructModelError":"Не удалось сконструировать профиль",
"MessageFailedOpenInputFileError":"Не удалось открыть исходный файл %s",
"MessageFailedOpenOutputFileError":"Не удалось записать конечный файл %s",
"MessageFailedProcessCaffeError":"Не удалось произвести интерполяцию",
"MessageTitleResult":"Результат",
"MessagecuDNNOK":"Вы можете использовать cuDNN",
"MessagecuDNNNotFindError":"Вы не можете использовать cuDNN\r\n[%s] не найден",
"MessagecuDNNOldVersionError":"Вы не можете использовать cuDNN\r\n[%s] старой версии. Пожалуйста используйте v2",
"MessagecuDNNCannotCreateError":"Вы не можете использовать cuDNN\r\ncНе удалось инициализировать cuDNN",
"MessagecuDNNDefautlError":"Вы не можете использовать cuDNN",
"MessageExtStr":"Исходные изображения(%s)",
"MessageAllFileFolder":"Любые файлы и папки(*.*)",
"MessageTitleInputDialog":"Пожалуйста добавьте файл или папку",
"MessageTimeLeftUnknown":"Оставшееся время: Неизвестно",
"MessageTimeLeft":"Оставшееся время",
"MessageNoOverwrite":"Файл уже существует по этому адресу: %s",
"MessageCudaOldDeviceError":"Ваше устройство CUDA устарело.\r\nИспользуйте устройство с Compute Capability 2.0 или выше.",
"OK":"OK",
"Cancel":"Отмена",
"IDC_STATIC_USE_GPU_NO":"Использ. GPU №",
"IDC_RADIO_MODEL_UPCONV_RGB":"2D изображ. (Профиль UpRGB)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Фото (Профиль UpPhoto)",
"MessageLogFatalError":"Произошла критическая ошибка.\r\nВозможно размер блока слишком большой",
"IDC_RADIO_MODEL_CUNET":"2D изображ. (Профиль CUnet)"
}

105
bin/lang/spanish.json Normal file
View File

@ -0,0 +1,105 @@
{
"IDC_STATIC_IO_SETTING":"Configuración de entrada y salida",
"IDC_STATIC_INPUT_PATH":"Ruta de entrada\r\n(archivo o carpeta)",
"IDC_BUTTON_INPUT_REF":"Explorar",
"IDC_STATIC_OUTPUT_PATH":"Ruta de salida",
"IDC_STATIC_TANS_EXT_LIST":"Extensiones de archivos de entrada",
"IDC_STATIC_OUTPUT_EXT":"Extensión de salida",
"IDC_STATIC_OUTPUT_QUALITY":"Calidad de salida",
"IDC_STATIC_OUTPUT_DEPTH":"Profundidad de bits de salida",
"IDC_STATIC_AUTO_START":"Inicio automático al agregar archivos",
"IDC_RADIO_AUTO_START_NONE":"Desactivado",
"IDC_RADIO_AUTO_START_ONE":"Cuando se agregue un archivo",
"IDC_RADIO_AUTO_START_MULTI":"Cuando se agreguen varios archivos o una carpeta",
"IDC_STATIC_QUALITY_PROCESS_SETTING":"Calidad de conversión de la imagen y configuración de procesamiento",
"IDC_STATIC_TRANS_MODE":"Modo de conversión",
"IDC_RADIO_MODE_NOISE_SCALE":"Reducir ruido y ampliar",
"IDC_RADIO_MODE_SCALE":"Solo ampliar",
"IDC_RADIO_MODE_NOISE":"Solo reducir ruido",
"IDC_RADIO_AUTO_SCALE":"Ampliar y reducir ruido autom.",
"IDC_STATIC_JPEG_NOISE_LEVEL":"Nv. reducción ruido",
"IDC_RADIONOISE_LEVEL0":"Nivel 0",
"IDC_RADIONOISE_LEVEL1":"Nivel 1",
"IDC_RADIONOISE_LEVEL2":"Nivel 2",
"IDC_RADIONOISE_LEVEL3":"Nivel 3",
"IDC_STATIC_SCALE_RATE":"Tamaño de la ampliación",
"IDC_RADIO_SCALE_RATIO":"Multiplicador",
"IDC_RADIO_SCALE_WIDTH":"Ancho",
"IDC_RADIO_SCALE_HEIGHT":"Alto",
"IDC_RADIO_SCALE_WIDTH_HEIGHT":"Ancho y alto",
"IDC_STATIC_MODEL":"Modelo",
"IDC_RADIO_MODEL_RGB":"Ilustración en 2D (modelo RGB)",
"IDC_RADIO_MODEL_PHOTO":"Fotografía y anime",
"IDC_RADIO_MODEL_Y":"Ilustración en 2D (modelo Y)",
"IDC_RADIO_MODEL_UpResNet10":"Ilustración en 2D (modelo UpResNet10)",
"IDC_CHECK_TTA":"Usar modo TTA",
"IDC_STATIC_PROCESS_SPEED_SETTING":"Configuración de velocidad de procesamiento",
"IDC_STATIC_PROCESSOR":"Método de procesamiento",
"IDC_RADIO_MODE_GPU":"CUDA (con cuDNN)",
"IDC_RADIO_MODE_CPU":"CPU",
"IDC_STATIC_CROP_SIZE":"Tamaño de división",
"IDC_BUTTON_CHECK_CUDNN":"Verificar cuDNN",
"IDC_BUTTON_CANCEL":"Cancelar",
"IDC_BUTTON_EXEC":"Comenzar",
"IDC_STATIC_LANG_UI":"Idioma de la interfaz",
"IDC_BUTTON_OUTPUT_REF":"Explorar",
"IDC_BUTTON_APP_SETTING":"Configuración",
"IDC_BUTTON_CLEAR_OUTPUT_DIR":"Rest. carpeta de salida",
"IDC_STATIC_ARG_START":"Inicio con argumentos",
"IDC_CHECK_ARG_START_AUTO":"Comenzar al abrir",
"IDC_CHECK_ARG_START_SUCCESS_FINISH":"Salir al terminar",
"IDC_STATIC_INPUT_DIR_FIX":"Carpeta de entrada fija",
"IDC_STATIC_OUTPUT_DIR_FIX":"Carpeta de salida fija",
"IDC_CHECK_OUTPUT_NO_OVERWRITE":"No reemplazar los archivos de salida",
"MessageUseProcessorMode":"Se usará el método de procesamiento %s",
"MessageProcessTime":"Tiempo de procesamiento: %02d:%02d:%02d.%03d",
"MessageInitTime":"Tiempo de inicialización: %02d:%02d:%02d.%03d",
"MessagecuDNNCheckTime":"Tiempo de comprobación de cuDNN: %02d:%02d:%02d.%03d",
"MessageTitleError":"Error",
"MessageScaleRateCheckError":"El factor de ampliación debe ser mayor que 0.0.",
"MessageScaleWidthCheckError":"El tamaño debe ser un número entero mayor que 0.",
"MessageCropSizeCheckError":"El tamaño de división debe ser mayor que 0.",
"MessageInputPathCheckError":"Debes especificar la ruta de entrada.",
"MessageOutputPathCheckError":"Debes especificar la ruta de salida.",
"MessageOutputExtCheckError":"Debes especificar la extensión de salida.",
"MessageInputCheckError":"El archivo o la carpeta de entrada no existe.",
"MessageOutputExtentionCheckError":"Debes elegir la extensión de salida.",
"MessageOutputQualityCheckError":"La calidad de salida está fuera del rango admitido.",
"MessageOutputDepthCheckError":"La profundidad de bits de salida no es válida.",
"MessageCudaNotFindError":"La GPU no puede convertir el archivo de entrada.\r\nEs posible que el controlador CUDA no esté instalado, instálalo.",
"MessageCudaOldVersionError":"La GPU no puede convertir el archivo de entrada.\r\nEs posible que la versión del controlador CUDA esté desactualizada.\r\nActualiza el controlador CUDA.",
"MessageTransSuccess":"Conversión exitosa.",
"MessageErrorHappen":"Ocurrió un error.",
"MessageCreateOutDirError":"No se pudo crear la carpeta de salida\r\n[%s].",
"MessageCancelError":"Se canceló la conversión.",
"MessageInvalidParameterError":"El parámetro no es válido.",
"MessageFailedOpenModelFileError":"No se pudo abrir el archivo de modelo.",
"MessageFailedParseModelFileError":"No se pudo analizar el archivo de modelo.",
"MessageFailedConstructModelError":"No se pudo construir el modelo.",
"MessageFailedOpenInputFileError":"No se pudo abrir el archivo de entrada %s.",
"MessageFailedOpenOutputFileError":"No se pudo escribir el archivo de salida %s.",
"MessageFailedProcessCaffeError":"No se pudo procesar la interpolación.",
"MessageTitleResult":"Resultado",
"MessagecuDNNOK":"Puedes usar cuDNN.",
"MessagecuDNNNotFindError":"No puedes usar cuDNN porque no se encontró [%s].",
"MessagecuDNNOldVersionError":"No puedes usar cuDNN porque la versión de [%s] es muy antigua.\r\nUsa la versión 2.",
"MessagecuDNNCannotCreateError":"No puedes usar cuDNN porque no se pudo inicializar.",
"MessagecuDNNDefautlError":"No puedes usar cuDNN.",
"MessageExtStr":"Extensiones de archivos de entrada (%s)",
"MessageAllFileFolder":"Todos los archivos (*.*)",
"MessageTitleInputDialog":"Elige un archivo o una carpeta de entrada.",
"MessageTimeLeftUnknown":"Tiempo restante: Desconocido",
"MessageTimeLeft":"Tiempo restante",
"MessageNoOverwrite":"El archivo %s ya existe en la ruta de destino.",
"MessageCudaOldDeviceError":"El dispositivo CUDA es muy antiguo.\r\nUsa un dispositivo compatible con Compute Capability 2.0 o posterior.",
"OK":"Aceptar",
"Cancel":"Cancelar",
"IDC_STATIC_USE_GPU_NO":"Usar la GPU n.º",
"IDC_RADIO_MODEL_UPCONV_RGB":"Ilustración en 2D (modelo UpRGB)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Fotografía (modelo UpPhoto)",
"MessageLogFatalError":"Ocurrió un error irrecuperable.\r\nEs posible que el tamaño de división sea demasiado grande.",
"IDC_STATIC_BATCH_SIZE":"Tamaño de lote",
"MessageBatchSizeCheckError":"El tamaño de lote debe ser mayor que 0.",
"IDC_RADIO_MODEL_CUNET":"Ilustración en 2D (modelo CUnet)",
"MessageCropSizeDivisibleCheckError":"El tamaño de división de este modelo debe ser divisible por %d."
}

View File

@ -1,4 +1,4 @@
{
{
"IDC_STATIC_IO_SETTING":"Girdi/Çıktı Ayarları",
"IDC_STATIC_INPUT_PATH":"Girdi Yolu\r\n(dosya veya klasör)",
"IDC_BUTTON_INPUT_REF":"Gözat",
@ -17,7 +17,8 @@
"IDC_RADIO_MODE_SCALE":"Sadece büyüt",
"IDC_RADIO_MODE_NOISE":"Sadece gürültüsüzleştir",
"IDC_RADIO_AUTO_SCALE":"Büyüt ve Oto-Gürültüsüzleştir",
"IDC_STATIC_JPEG_NOISE_LEVEL":"JPEG gürültüsüzleştirme düzeyi",
"IDC_STATIC_JPEG_NOISE_LEVEL":"gürültüsüzleştirme düzeyi",
"IDC_RADIONOISE_LEVEL0":"Seviye 0",
"IDC_RADIONOISE_LEVEL1":"Seviye 1",
"IDC_RADIONOISE_LEVEL2":"Seviye 2",
"IDC_RADIONOISE_LEVEL3":"Seviye 3",
@ -29,6 +30,7 @@
"IDC_RADIO_MODEL_RGB":"2-B çizim (RGB Modeli)",
"IDC_RADIO_MODEL_PHOTO":"Fotoğrafçılık veya Anime",
"IDC_RADIO_MODEL_Y":"2-B çizim (Y Modeli)",
"IDC_RADIO_MODEL_UpResNet10":"2-B çizim (UpResNet10)",
"IDC_CHECK_TTA":"TTA Modu Kullan",
"IDC_STATIC_PROCESS_SPEED_SETTING":"İşleme Hızı Ayarları",
"IDC_STATIC_PROCESSOR":"",
@ -59,7 +61,7 @@
"MessageCudaOldVersionError":"Girdi ekran kartı tarafından işlenemiyor.\r\nCUDA sürücüsü eski olabilir. \r\nLütfen CUDA sürücüsünü güncelleyin.",
"MessageTransSuccess":"Başarıyla dönüştürüldü.",
"MessageErrorHappen":"Bir hata meydana geldi.",
"MessageCreateOutDirError":ıktı klasörü\r\n<EFBFBD>u%s<>v\r\nyaratılmakta başarısız olundu.",
"MessageCreateOutDirError":ıktı klasörü\r\n[%s]\r\nyaratılmakta başarısız olundu.",
"MessageCancelError":"Dönüştürme iptal edildi.",
"MessageInvalidParameterError":"Geçersiz parametre.",
"MessageFailedOpenModelFileError":"Model dosya açılamıyor.",
@ -70,13 +72,16 @@
"MessageFailedProcessCaffeError":"Ara değerin işlenmesinde bir sorun oluştu.",
"MessageTitleResult":"Sonuç",
"MessagecuDNNOK":"cuDNN kullanabilirsiniz.",
"MessagecuDNNNotFindError":"cuDNN kullanamazsınız,\r\n<EFBFBD>u%s<>vbulunamadı.",
"MessagecuDNNOldVersionError":"cuDNN kullanamazsınız,\r\n<EFBFBD>u%s<>veski bir sürüm. Lütfen sürüm 2 kullanın.",
"MessagecuDNNNotFindError":"cuDNN kullanamazsınız,\r\n[%s]bulunamadı.",
"MessagecuDNNOldVersionError":"cuDNN kullanamazsınız,\r\n[%s]eski bir sürüm. Lütfen sürüm 2 kullanın.",
"MessagecuDNNCannotCreateError":"cuDNN kullanamazsınız,\r\nccuDNN başlatılamadı.",
"MessagecuDNNDefautlError":"cuDNN kullanamazsınız.",
"MessageExtStr":"Girdi dosya uzantıları(%s)",
"MessageAllFileFolder":"Bütün dosyalar ve klasörler(*.*)",
"MessageTitleInputDialog":"Lütfen girdi dosyası veya klasörü seçin",
"MessageTimeLeftUnkown":"Kalan Süre: Bilinmiyor",
"MessageTimeLeft":"Kalan Süre"
"MessageTimeLeftUnknown":"Kalan Süre: Bilinmiyor",
"MessageTimeLeft":"Kalan Süre",
"IDC_RADIO_MODEL_UPCONV_RGB":"2-B çizim (UpRGB Modeli)",
"IDC_RADIO_MODEL_UPCONV_PHOTO":"Fotoğrafçılık veya Anime (UpPhoto Modeli)",
"IDC_RADIO_MODEL_CUNET":"2-B çizim (CUnet Modeli)"
}

View File

@ -0,0 +1 @@
{"name":"Y","arch_name":"vgg_7","scale_factor":1,"channels":1,"offset":7}

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,10 @@
name: "srcnn"
input: "input"
input_dim: 1
input_dim: 1
input_dim: 142
input_dim: 142
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 1 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,194 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 1 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 1
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,194 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 1 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 1
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,194 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 1 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 1
kernel_size: 3
stride: 1
group: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

View File

@ -0,0 +1 @@
{"name":"RGB","arch_name":"vgg_7","scale_factor":1,"channels":3,"offset":7}

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,10 @@
name: "srcnn"
input: "input"
input_dim: 1
input_dim: 3
input_dim: 142
input_dim: 142
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,10 @@
name: "srcnn"
input: "input"
input_dim: 1
input_dim: 3
input_dim: 142
input_dim: 142
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,10 @@
name: "srcnn"
input: "input"
input_dim: 1
input_dim: 3
input_dim: 142
input_dim: 142
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

View File

@ -0,0 +1,4 @@
{"name":"CUnet","arch_name":"upcunet","has_noise_scale":true,"has_noise_only":true,"channels":3,"force_divisible_crop_size":4,
"scale_factor":2,"offset":36,
"scale_factor_noise":1,"offset_noise":28
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 312
dim: 312
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Convolution8"
top: "Convolution9"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Convolution13"
top: "Convolution14"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution14"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution15"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Convolution15"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution16"
top: "Convolution16"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution16"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution14"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Scale2"
top: "Convolution17"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Convolution18"
top: "Convolution19"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution19"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution20"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Convolution20"
top: "Convolution21"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution21"
top: "Convolution21"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution21"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution19"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution2"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution2"
top: "Deconvolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution2"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution2"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Convolution22"
top: "Convolution23"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution23"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution24"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Convolution24"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution25"
top: "Convolution25"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution25"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution23"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution11"
bottom: "Deconvolution3"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution3"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution26"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution26"
top: "Convolution26"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution27"
type: "Convolution"
bottom: "Convolution26"
top: "Convolution27"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Convolution9"
bottom: "Convolution27"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution27"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 200
dim: 200
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Convolution8"
top: "Deconvolution2"
convolution_param {
num_output: 3
pad: 3
kernel_size: 4
stride: 2
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Deconvolution2"
top: "Convolution9"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution9"
top: "Convolution9"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution13"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution14"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Convolution14"
top: "Convolution15"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution15"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution13"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Scale2"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution16"
top: "Convolution16"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Convolution16"
top: "Convolution17"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution18"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution19"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Convolution19"
top: "Convolution20"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution20"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution18"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution3"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution3"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution3"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution21"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution21"
top: "Convolution21"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Convolution21"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution22"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution23"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Convolution23"
top: "Convolution24"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution24"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution22"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution4"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution4"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution4"
top: "Deconvolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution10"
bottom: "Deconvolution4"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution4"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution25"
top: "Convolution25"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Convolution25"
top: "Convolution26"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Deconvolution2"
bottom: "Convolution26"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution26"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 312
dim: 312
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Convolution8"
top: "Convolution9"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Convolution13"
top: "Convolution14"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution14"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution15"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Convolution15"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution16"
top: "Convolution16"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution16"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution14"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Scale2"
top: "Convolution17"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Convolution18"
top: "Convolution19"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution19"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution20"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Convolution20"
top: "Convolution21"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution21"
top: "Convolution21"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution21"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution19"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution2"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution2"
top: "Deconvolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution2"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution2"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Convolution22"
top: "Convolution23"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution23"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution24"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Convolution24"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution25"
top: "Convolution25"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution25"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution23"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution11"
bottom: "Deconvolution3"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution3"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution26"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution26"
top: "Convolution26"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution27"
type: "Convolution"
bottom: "Convolution26"
top: "Convolution27"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Convolution9"
bottom: "Convolution27"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution27"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 200
dim: 200
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Convolution8"
top: "Deconvolution2"
convolution_param {
num_output: 3
pad: 3
kernel_size: 4
stride: 2
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Deconvolution2"
top: "Convolution9"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution9"
top: "Convolution9"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution13"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution14"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Convolution14"
top: "Convolution15"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution15"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution13"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Scale2"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution16"
top: "Convolution16"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Convolution16"
top: "Convolution17"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution18"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution19"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Convolution19"
top: "Convolution20"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution20"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution18"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution3"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution3"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution3"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution21"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution21"
top: "Convolution21"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Convolution21"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution22"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution23"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Convolution23"
top: "Convolution24"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution24"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution22"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution4"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution4"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution4"
top: "Deconvolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution10"
bottom: "Deconvolution4"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution4"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution25"
top: "Convolution25"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Convolution25"
top: "Convolution26"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Deconvolution2"
bottom: "Convolution26"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution26"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 312
dim: 312
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Convolution8"
top: "Convolution9"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Convolution13"
top: "Convolution14"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution14"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution15"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Convolution15"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution16"
top: "Convolution16"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution16"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution14"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Scale2"
top: "Convolution17"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Convolution18"
top: "Convolution19"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution19"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution20"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Convolution20"
top: "Convolution21"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution21"
top: "Convolution21"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution21"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution19"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution2"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution2"
top: "Deconvolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution2"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution2"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Convolution22"
top: "Convolution23"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution23"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution24"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Convolution24"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution25"
top: "Convolution25"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution25"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution23"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution11"
bottom: "Deconvolution3"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution3"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution26"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution26"
top: "Convolution26"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution27"
type: "Convolution"
bottom: "Convolution26"
top: "Convolution27"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Convolution9"
bottom: "Convolution27"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution27"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 200
dim: 200
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Convolution8"
top: "Deconvolution2"
convolution_param {
num_output: 3
pad: 3
kernel_size: 4
stride: 2
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Deconvolution2"
top: "Convolution9"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution9"
top: "Convolution9"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution13"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution14"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Convolution14"
top: "Convolution15"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution15"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution13"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Scale2"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution16"
top: "Convolution16"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Convolution16"
top: "Convolution17"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution18"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution19"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Convolution19"
top: "Convolution20"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution20"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution18"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution3"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution3"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution3"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution21"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution21"
top: "Convolution21"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Convolution21"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution22"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution23"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Convolution23"
top: "Convolution24"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution24"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution22"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution4"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution4"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution4"
top: "Deconvolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution10"
bottom: "Deconvolution4"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution4"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution25"
top: "Convolution25"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Convolution25"
top: "Convolution26"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Deconvolution2"
bottom: "Convolution26"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution26"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 312
dim: 312
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Convolution8"
top: "Convolution9"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Convolution13"
top: "Convolution14"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution14"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution15"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Convolution15"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution16"
top: "Convolution16"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution16"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution14"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Scale2"
top: "Convolution17"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Convolution18"
top: "Convolution19"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution19"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution20"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Convolution20"
top: "Convolution21"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution21"
top: "Convolution21"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution21"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution19"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution2"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution2"
top: "Deconvolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution2"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution2"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Convolution22"
top: "Convolution23"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution23"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution24"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Convolution24"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution25"
top: "Convolution25"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution25"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution23"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution11"
bottom: "Deconvolution3"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution3"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution26"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution26"
top: "Convolution26"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution27"
type: "Convolution"
bottom: "Convolution26"
top: "Convolution27"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Convolution9"
bottom: "Convolution27"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution27"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 200
dim: 200
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Convolution8"
top: "Deconvolution2"
convolution_param {
num_output: 3
pad: 3
kernel_size: 4
stride: 2
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Deconvolution2"
top: "Convolution9"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution9"
top: "Convolution9"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution13"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution14"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Convolution14"
top: "Convolution15"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution15"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution13"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Scale2"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution16"
top: "Convolution16"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Convolution16"
top: "Convolution17"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution18"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution19"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Convolution19"
top: "Convolution20"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution20"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution18"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution3"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution3"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution3"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution21"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution21"
top: "Convolution21"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Convolution21"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution22"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution23"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Convolution23"
top: "Convolution24"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution24"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution22"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution4"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution4"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution4"
top: "Deconvolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution10"
bottom: "Deconvolution4"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution4"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution25"
top: "Convolution25"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Convolution25"
top: "Convolution26"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Deconvolution2"
bottom: "Convolution26"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution26"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,794 @@
layer {
name: "input"
type: "Input"
top: "Input1"
input_param {
shape {
dim: 1
dim: 3
dim: 200
dim: 200
}
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "Input1"
top: "Convolution1"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "Convolution1"
top: "Convolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "Convolution1"
top: "Convolution2"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "Convolution2"
top: "Convolution2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "Convolution2"
top: "Convolution3"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "Convolution3"
top: "Convolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "Convolution3"
top: "Convolution4"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "Convolution4"
top: "Convolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "Convolution4"
top: "Convolution5"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "Convolution5"
top: "Convolution5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling1"
type: "Pooling"
bottom: "Convolution5"
top: "Pooling1"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution6"
type: "Convolution"
bottom: "Pooling1"
top: "Convolution6"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "Convolution6"
top: "Convolution6"
}
layer {
name: "Convolution7"
type: "Convolution"
bottom: "Convolution6"
top: "Convolution7"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid1"
type: "Sigmoid"
bottom: "Convolution7"
top: "Convolution7"
}
layer {
name: "Flatten1"
type: "Flatten"
bottom: "Convolution7"
top: "Flatten1"
}
layer {
name: "Scale1"
type: "Scale"
bottom: "Convolution5"
bottom: "Flatten1"
top: "Scale1"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution1"
type: "Deconvolution"
bottom: "Scale1"
top: "Deconvolution1"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "Deconvolution1"
top: "Deconvolution1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop1"
type: "Crop"
bottom: "Convolution2"
bottom: "Deconvolution1"
top: "Crop1"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "Crop1"
bottom: "Deconvolution1"
top: "Eltwise1"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution8"
type: "Convolution"
bottom: "Eltwise1"
top: "Convolution8"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "Convolution8"
top: "Convolution8"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Deconvolution2"
type: "Deconvolution"
bottom: "Convolution8"
top: "Deconvolution2"
convolution_param {
num_output: 3
pad: 3
kernel_size: 4
stride: 2
}
}
layer {
name: "Convolution9"
type: "Convolution"
bottom: "Deconvolution2"
top: "Convolution9"
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "Convolution9"
top: "Convolution9"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution10"
type: "Convolution"
bottom: "Convolution9"
top: "Convolution10"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "Convolution10"
top: "Convolution10"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution11"
type: "Convolution"
bottom: "Convolution10"
top: "Convolution11"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "Convolution11"
top: "Convolution11"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution12"
type: "Convolution"
bottom: "Convolution11"
top: "Convolution12"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "Convolution12"
top: "Convolution12"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution13"
type: "Convolution"
bottom: "Convolution12"
top: "Convolution13"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "Convolution13"
top: "Convolution13"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling2"
type: "Pooling"
bottom: "Convolution13"
top: "Pooling2"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution14"
type: "Convolution"
bottom: "Pooling2"
top: "Convolution14"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "Convolution14"
top: "Convolution14"
}
layer {
name: "Convolution15"
type: "Convolution"
bottom: "Convolution14"
top: "Convolution15"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid2"
type: "Sigmoid"
bottom: "Convolution15"
top: "Convolution15"
}
layer {
name: "Flatten2"
type: "Flatten"
bottom: "Convolution15"
top: "Flatten2"
}
layer {
name: "Scale2"
type: "Scale"
bottom: "Convolution13"
bottom: "Flatten2"
top: "Scale2"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Convolution16"
type: "Convolution"
bottom: "Scale2"
top: "Convolution16"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU15"
type: "ReLU"
bottom: "Convolution16"
top: "Convolution16"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution17"
type: "Convolution"
bottom: "Convolution16"
top: "Convolution17"
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU16"
type: "ReLU"
bottom: "Convolution17"
top: "Convolution17"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution18"
type: "Convolution"
bottom: "Convolution17"
top: "Convolution18"
convolution_param {
num_output: 128
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU17"
type: "ReLU"
bottom: "Convolution18"
top: "Convolution18"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling3"
type: "Pooling"
bottom: "Convolution18"
top: "Pooling3"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution19"
type: "Convolution"
bottom: "Pooling3"
top: "Convolution19"
convolution_param {
num_output: 16
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU18"
type: "ReLU"
bottom: "Convolution19"
top: "Convolution19"
}
layer {
name: "Convolution20"
type: "Convolution"
bottom: "Convolution19"
top: "Convolution20"
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid3"
type: "Sigmoid"
bottom: "Convolution20"
top: "Convolution20"
}
layer {
name: "Flatten3"
type: "Flatten"
bottom: "Convolution20"
top: "Flatten3"
}
layer {
name: "Scale3"
type: "Scale"
bottom: "Convolution18"
bottom: "Flatten3"
top: "Scale3"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution3"
type: "Deconvolution"
bottom: "Scale3"
top: "Deconvolution3"
convolution_param {
num_output: 128
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU19"
type: "ReLU"
bottom: "Deconvolution3"
top: "Deconvolution3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop2"
type: "Crop"
bottom: "Scale2"
bottom: "Deconvolution3"
top: "Crop2"
crop_param {
axis: 2
offset: 4
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "Crop2"
bottom: "Deconvolution3"
top: "Eltwise2"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution21"
type: "Convolution"
bottom: "Eltwise2"
top: "Convolution21"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU20"
type: "ReLU"
bottom: "Convolution21"
top: "Convolution21"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution22"
type: "Convolution"
bottom: "Convolution21"
top: "Convolution22"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU21"
type: "ReLU"
bottom: "Convolution22"
top: "Convolution22"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Pooling4"
type: "Pooling"
bottom: "Convolution22"
top: "Pooling4"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "Convolution23"
type: "Convolution"
bottom: "Pooling4"
top: "Convolution23"
convolution_param {
num_output: 8
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "ReLU22"
type: "ReLU"
bottom: "Convolution23"
top: "Convolution23"
}
layer {
name: "Convolution24"
type: "Convolution"
bottom: "Convolution23"
top: "Convolution24"
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
}
}
layer {
name: "Sigmoid4"
type: "Sigmoid"
bottom: "Convolution24"
top: "Convolution24"
}
layer {
name: "Flatten4"
type: "Flatten"
bottom: "Convolution24"
top: "Flatten4"
}
layer {
name: "Scale4"
type: "Scale"
bottom: "Convolution22"
bottom: "Flatten4"
top: "Scale4"
scale_param {
axis: 0
bias_term: false
}
}
layer {
name: "Deconvolution4"
type: "Deconvolution"
bottom: "Scale4"
top: "Deconvolution4"
convolution_param {
num_output: 64
pad: 0
kernel_size: 2
stride: 2
}
}
layer {
name: "ReLU23"
type: "ReLU"
bottom: "Deconvolution4"
top: "Deconvolution4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Crop3"
type: "Crop"
bottom: "Convolution10"
bottom: "Deconvolution4"
top: "Crop3"
crop_param {
axis: 2
offset: 16
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "Crop3"
bottom: "Deconvolution4"
top: "Eltwise3"
eltwise_param {
operation: SUM
}
}
layer {
name: "Convolution25"
type: "Convolution"
bottom: "Eltwise3"
top: "Convolution25"
convolution_param {
num_output: 64
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "ReLU24"
type: "ReLU"
bottom: "Convolution25"
top: "Convolution25"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution26"
type: "Convolution"
bottom: "Convolution25"
top: "Convolution26"
convolution_param {
num_output: 3
pad: 0
kernel_size: 3
stride: 1
}
}
layer {
name: "Crop4"
type: "Crop"
bottom: "Deconvolution2"
bottom: "Convolution26"
top: "Crop4"
crop_param {
axis: 2
offset: 20
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "Crop4"
bottom: "Convolution26"
top: "Eltwise4"
eltwise_param {
operation: SUM
}
}

View File

@ -0,0 +1 @@
{"name":"Photo","arch_name":"vgg_7","scale_factor":1,"channels":3,"offset":7}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

View File

@ -0,0 +1 @@
{"name":"ukbench","arch_name":"vgg_7","scale_factor":1,"channels":3,"offset":7}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,187 @@
name: "srcnn"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 142 dim: 142 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Convolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 1
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

View File

@ -0,0 +1,3 @@
{"name":"UpRGB","arch_name":"upconv_7","has_noise_scale":true,"channels":3,
"scale_factor":2,"offset":14
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,188 @@
name: "upconv_7"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 156 dim: 156 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 16
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 256
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Deconvolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 4
stride: 2
pad: 3
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 3
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,188 @@
name: "upconv_7"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 156 dim: 156 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 16
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 256
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Deconvolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 4
stride: 2
pad: 3
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 3
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,188 @@
name: "upconv_7"
layer {
name: "input"
type: "Input"
top: "input"
input_param { shape: { dim: 1 dim: 3 dim: 156 dim: 156 } }
}
layer {
name: "conv1_layer"
type: "Convolution"
bottom: "input"
top: "conv1"
convolution_param {
num_output: 16
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv1_relu_layer"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2_layer"
type: "Convolution"
bottom: "conv1"
top: "conv2"
convolution_param {
num_output: 32
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv2_relu_layer"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_layer"
type: "Convolution"
bottom: "conv2"
top: "conv3"
convolution_param {
num_output: 64
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv3_relu_layer"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_layer"
type: "Convolution"
bottom: "conv3"
top: "conv4"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv4_relu_layer"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_layer"
type: "Convolution"
bottom: "conv4"
top: "conv5"
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv5_relu_layer"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_layer"
type: "Convolution"
bottom: "conv5"
top: "conv6"
convolution_param {
num_output: 256
kernel_size: 3
stride: 1
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "conv6_relu_layer"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv7_layer"
type: "Deconvolution"
bottom: "conv6"
top: "conv7"
convolution_param {
num_output: 3
kernel_size: 4
stride: 2
pad: 3
weight_filler {
type: "gaussian"
std: 0.01
}
}
}
layer {
name: "target"
type: "MemoryData"
top: "target"
top: "dummy_label2"
memory_data_param {
batch_size: 1
channels: 3
height: 142
width: 142
}
include: { phase: TRAIN }
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv7"
bottom: "target"
top: "loss"
include: { phase: TRAIN }
}

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More