0
0
テーマ、知りたいこと
Pytorchで書かれた深層学習のコードがネット上で多く見られますが、
Kerasで実行できるように書き換えるにはどのように調べるとよいでしょうか。
背景、状況
私自身何とかKerasでSRCNNなどの超解像を実行しています。
Keras自体も今年度始めたばかりの初学者で、
ネットに頼りながら日々格闘しています。
ご意見をお聞かせください。
よろしくお願いいたします。
回答4件
Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。
深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。
PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。
CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。
Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。
Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。
深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。
PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。
CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。
Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。
0グッド
0クリップ
投稿2023/02/15 06:44
0
0
Pytorchで書かれた深層学習のコードがネット上で多く見られますが、
Kerasで実行できるように書き換えるにはどのように調べるとよいでしょうか。
私自身何とかKerasでSRCNNなどの超解像を実行しています。
Keras自体も今年度始めたばかりの初学者で、
ネットに頼りながら日々格闘しています。
ご意見をお聞かせください。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
#1
総合スコア10650
投稿2023/02/15 09:23
Pytorchで書かれたコードをKerasに書き直したい
コードを書き替えるにはそれぞれにある程度精通していないと難しいかと思います。
Pytorchで書かれた深層学習のコードがネット上で多く見られますが、
あえて書き換えたいのは勉強のためでしょうか?特別にそうでないならPytorchのまま実行されるのが良いかと思います。Kerasが実行できる環境であればPytorchのインストールも問題ないかと思われますし。
勉強のためであればやはり基本からやるのが結局は近道になるのではないでしょうか。
#2
総合スコア1579
投稿2023/02/16 14:17
Kerasで実行できるように書き換えるには
PyTorchのLow Level Codingと同等に書く方法はチュートリアルにあるので参考にしましょう.training loopをゼロから書くパターンと比較すればKerasのModel.train_step()に移植できる知識になると思います.
また,Keras公式の他の実装を参考にするのもかなり良い方法です.
たとえば,超解像で言えばEDSRのコードがわかりやすいです.EDSRModelのtrain_stepで超解像独自の損失関数を与えることができます.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#3
総合スコア1
投稿2023/02/26 01:11
編集2023/02/26 01:12meg_様
ご回答くださりありがとうございます。
「コードを書き替えるにはそれぞれにある程度精通していないと難しいかと思います。」
→やはり基本からやるのが結局は近道なのですね、、、
「あえて書き換えたいのは勉強のためでしょうか?」
→勉強のためもありますが、現在PULSEという超解像を顔画像以外にも活用できないかと考えていますが、
Pytorchで書かれたコードしか見つけられず、手が付けられないなと思い質問させていただきました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#4
総合スコア1
投稿2023/02/26 01:20
ps_aux_grep様
ご回答くださりありがとうございます。
まずはチュートリアルを勉強するのが大切なのですね。
(そのためのチュートリアルですね。)
「Keras公式の他の実装を参考にするのもかなり良い方法です」
→なるほどなと思いました。超解像であれば現在勉強中で多少の知識がついてきていますので、
その分野に関連した内容でKeras←→Pytorchを勉強すればとっつきやすいかもしれません。
地道にとは思っていましたが何から手を付ければいいのかわからなかったので、
とても参考になりました。ありがとうございます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。