np.randomを何度も使用するプログラマがあります。今私は引数gpu=True/False
を渡すことをユーザーに望んでいない。どのように再帰で終わらずにcm.CUDAMatrix(np.random.uniform(low=low, high=high, size=size))
を返すようにnp.randomをオーバーライドできますか? 小さなコード変更でcudamatを使用するより良い方法はありますか?numpy.randomをオーバーライドしてcudamatを使用する
ありがとうございました。
もっとコードが必要な場合はコメントしてください。
class FeedForwardNetwork():
def __init__(self, input_dim, hidden_dim, output_dim, dropout=False, dropout_prop=0.5, gpu=True):
np.random.seed(1)
self.input_layer = np.array([])
self.hidden_layer = np.array([])
self.output_layer = np.array([])
self.input_dim = input_dim
self.hidden_dim = hidden_dim
self.output_dim = output_dim
self.dropout = dropout
self.dropout_prop = dropout_prop
r_input_hidden = math.sqrt(6/(input_dim + hidden_dim))
r_hidden_output = math.sqrt(6/(hidden_dim + output_dim))
self.weights_input_hidden = np.random.uniform(low=-0.01, high=0.01, size=(input_dim, hidden_dim))
self.weights_hidden_output = np.random.uniform(low=-0.01, high=0.01, size=(hidden_dim, output_dim))
特にnp.randomメソッドまたはクラス、あなたのコードの多くを投稿してください。単純にメソッドをオーバーロードすることはできますが、引数が何であるかを確認する必要があります。 –
最後の2行は重要な行です。 – Peter234