タグ付けされた質問 「pytorch」

1
PyTorch対Tensorflow Fold
PyTorchとTensorflow Foldは両方とも、入力データの長さまたは次元が不均一な状況(つまり、動的グラフが有用または必要な状況)に対処することを目的とした深層学習フレームワークです。 依存するパラダイム(例:動的バッチ処理)とその意味、それぞれに実装できる/できないもの、弱点/強さなどの意味で、それらを比較する方法を知りたいと思います。 この情報を使用して、動的計算グラフの探索を開始するためにそれらの1つを選択するつもりですが、特定のタスクはありません。 注1:DyNetやChainerのような他の動的計算グラフフレームワークも比較で歓迎されますが、PyTorchとTensorflow Foldに焦点を当てたいと思います。 注2:PyTorchでこのhackernewsスレッドを見つけましたが、情報はまばらですが、それほど多くはありません。 注3:Tensorflow Foldに関する別の関連するhackernewsスレッドには、比較方法に関する情報が含まれています。 注4:関連するRedditスレッド。 注5:Tensorflow Foldのgithubに関連するバグで、重要な制限を特定しています。評価中に条件分岐を実行できないことです。 注6:使用されているアルゴリズム(動的バッチ処理など)に関連した可変長入力に関するpytorchフォーラムでの議論。

2
pytorchでtorch.no_gradの使用は何ですか?
私はpytorchを初めて使い、この githubコードから始めました。コードの60-61行目のコメントがわかりません"because weights have requires_grad=True, but we don't need to track this in autograd"。requires_grad=Trueautogradを使用するための勾配を計算する必要がある変数について言及していることを理解しましたが、それはどういう意味"tracked by autograd"ですか?
19 pytorch 

2
(PyTorchを使用して)不均衡なクラスに使用する損失関数は何ですか?
次のアイテムを含む3つのクラスのデータセットがあります。 クラス1:900要素 クラス2:15000要素 クラス3:800要素 規範からの重要な逸脱を示すクラス1とクラス3を予測する必要があります。クラス2はデフォルトの「通常の」ケースで、私は気にしません。 ここではどのような損失関数を使用しますか?CrossEntropyLossの使用を考えていましたが、クラスの不均衡があるため、重み付けする必要があると思いますか?実際にはどのように機能しますか?このように(PyTorchを使用)? summed = 900 + 15000 + 800 weight = torch.tensor([900, 15000, 800]) / summed crit = nn.CrossEntropyLoss(weight=weight) または、重量を逆にする必要がありますか?つまり、1 /重量? これは最初から正しいアプローチですか、それとも私が使用できる他の/より良い方法がありますか? ありがとう

1
PyTorch vs. Tensorflow Eager
Googleは最近、Tensorflowのナイトリービルドに含まれているEagerモード、Tensorflow計算機能にアクセスするための必須APIです。 Tensorflow EagerはPyTorchと比較してどうですか? 比較に影響を与える可能性のある側面は次のとおりです。 静的グラフのレガシー(ノード内の名前など)によるeagerの長所と短所。 どちらにも固有の制限があり、もう一方にはありません。 それらの1つが改善が必要な領域(機能の完全性、計算の最適化など)。 生態系の違い(例:テンソルボード?)。 注1:Yaroslav Bulatovは熱心な素晴らしい機能についてのレビューを書きました。 注2:前の質問で、PyTorchとTensorflow Foldの比較をリクエストしました。当時、FoldはGoogleの支援のおかげでPyTorchに直面しているように思えました。私は非常に間違っていました。最終的には、Google自体がEoldを支持してFoldを放棄しました。これは、通常のテンソルフローAPIの固有の制限が原因で、Foldがあまり親しみにならず、その採用が制限されていたことがわかります。

2
トレーニングが長すぎる場合のAdamオプティマイザーの奇妙な動作
私は64個のランダムに生成されたデータポイントで単一のパーセプトロン(1000入力ユニット、1出力、非表示レイヤーなし)をトレーニングしようとしています。私はAdamオプティマイザを使用してPytorchを使用しています: import torch from torch.autograd import Variable torch.manual_seed(545345) N, D_in, D_out = 64, 1000, 1 x = Variable(torch.randn(N, D_in)) y = Variable(torch.randn(N, D_out)) model = torch.nn.Linear(D_in, D_out) loss_fn = torch.nn.MSELoss(size_average=False) optimizer = torch.optim.Adam(model.parameters()) for t in xrange(5000): y_pred = model(x) loss = loss_fn(y_pred, y) print(t, loss.data[0]) optimizer.zero_grad() loss.backward() optimizer.step() 最初は、予想どおり損失が急速に減少します。 …

3
任意の数の入力と出力を備えた人工ニューロンネットワーク(ANN)
問題にANNを使用したいのですが、問題は入力と出力のノード番号が固定されていないことです。 私は質問をする前にグーグル検索をしましたが、RNNが私の問題を解決するのに役立つことがわかりました。しかし、私が見つけたすべての例は、どういうわけか、入力ノードと出力ノードの数を定義しています。 それで、私は戦略、それをどのように現実のものにするか、または少なくともいくつかの例を探しています。KerasまたはPyTorchで望ましいです。 私の問題の詳細: 2つの入力リストがあります。最初のリストの長さは固定され、2に等しくなります。fe: in_1 = [2,2] ただし、2番目のリストの長さは柔軟で、長さは3からinf、feまで可能です。 in_2 = [1,1,2,2] または in_2 = [1,1,1,2,2,2,3,3,3] また、入力リストは互いに依存しています。最初のリストは、出力リストの次元を示しています。したがって、in_1 = [2,2]の場合、出力は[2,2]形式に再形成される可能性がある必要があることを意味します。 現在、2つの入力リストを1つに結合することを考えています。 in = in_1 + in_2 = [2, 2, 1, 1, 2, 2] さらに、出力の長さはin_2リストと同じです。fi: 入力リストが次の場合: in_1 = [2, 2] in_2 = [1, 1, 2, 2] 出力は次のようになります。 out = [1, 2, 1, …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.