問題タブ [torchtext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
deep-learning - torchtext を使用した Pytorch LSTM の入力寸法に問題がある
問題
LSTM を使用してテキスト分類ネットワークを構築しようとしています。私が得ているエラーは次のとおりです。
詳細
データはjsonで、次のようになります。
私はtorchtext
データをロードするために使用しています。
私のLSTMは次のようになります
と の次の寸法にinputs
なりますlabels
そして、初期化された隠しテンソルは次のようになります。
質問
各ステップの寸法がどうあるべきかを理解しようとしています。非表示の次元を (4, 600, 256) または (4, 64, 256) に初期化する必要がありますか?
machine-learning - 語彙と整数 (1 つのホット) 表現はどのように保存され、('string', int) タプルは torchtext.vocab() で何を意味しますか?
RNN
バイナリ分類のトレーニングを試みています。私は1000000語から作られた語彙を持っています.以下の出力を見つけてください...
text_field = torchtext.data.Field(tokenize=word_tokenize)
ドキュメントには次のように記載されています。
これは私には理解できません。
どなたか、それぞれの直感を教えてください。
たとえば、the
が で表される4
場合、文に という単語が含まれている場合the
、
- 場所 4 で 1 になりますか? また
- 464796 の位置で 1 になるか、または
- 464796 の位置で 4 になりますか??
複数あるとどうなるthe
??
python - モデルの剪定は、推論速度を向上させたり、モデルサイズを縮小したりしません
torch.nn.utils.prune
2 つのテンソルを提供する を使用して、PyTorch でモデルをプルーニングしようとしています。
- 1 つは元の重量で、
- もう 1 つは、ネットワーク内の特定の接続を閉じるのに役立つ 0 と 1 を含むマスクです。
私は両方のソリューションを試しましたが、推論速度を向上させるものはありません:
- プルーニング後にネットワークを使用して、最初にマスクとのいくつかの接続を閉じてから推論を実行する推論を行います。
- マスクを使用して元の重みをゼロにし、state_dict からマスクを削除して推測します。
モデルテンソルとマスクで速度を改善する方法はありますか? ゼロ以外の浮動小数点数を 0 で乗算しない方が、2 つの浮動小数点数を互いに乗算するよりも速くなりますか?
これが私の剪定関数と剪定速度の計算手順です。
推論速度のテスト 1 番目のケース:
推論速度のテスト 2 番目のケース:
更新
トーチには、十分なパラメーターを削除するとメモリ使用量を削減できるスパース モジュールがあることがわかりましたが、まだ nn.Module をサポートしておらず、Tensor オブジェクトのみをサポートしています。ここにいくつかの便利なリンクがあります:
https://github.com/pytorch/pytorch/issues/36214#issuecomment-619586452
https://pytorch.org/docs/stable/sparse.html