前提・実現したいこと
Deep LearningのDropoutクラスについての質問です。
Dropoutの手法は大まか理解できたのですが、コード内で具体的に何が行われているのかが分かりません。
またdropout_ratioとは何でしょうか。
初めての質問で至らないところもあるとは思いますが、宜しくお願い致します。
参考書は "ゼロから作るDeep Learning -Pythonで学ぶディープラーニングの理論と実装"です。
発生している問題・エラーメッセージ
エラーメッセージなし
該当のソースコード
Python
1class Dropout: 2 def __init__(self,dropout_ratio=0.5): 3 self.dropout_rario = dropout_ratio 4 self.mask = None 5#ここから 6 def forward(self,x,train_flg= True): 7 8 if train_flg: 9 self.mask = np.random.rand(*x.shape) > self.dropout_ratio 10 return x * self.mask 11 else: 12 return x * (1.0 - self.dropout_ratio) 13#ここまでです。 14 def backward(self,dout): 15 return dout * self.mask 16 17
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
Python3.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/27 05:57