ユーザー警告: __floordiv__ は非推奨であり、その動作は pytorch の将来のバージョンで変更される予定です。

エラーメッセージ:

ユーザー警告: __floordiv__ は非推奨であり、その動作は pytorch の将来のバージョンで変更される予定です。現在、0 に向かって丸められます (「floor」ではなく「trunc」関数と同様)。これにより、負の値が正しく丸められなくなります。現在の動作を維持するには、torch.div(a, b,rounding_mode='trunc') を使用するか、実際のフロア分割には torch.div(a, b,rounding_mode='floor') を使用します。
dim_t = self.length ** (2 * (dim_t // 2) / self.num_pos_feats)

間違ったコード:

dim_t = self.temperature ** (2 * (dim_t // 2) / self.num_pos_feats)

解決:

この警告は、Pytorch の新しいバージョンでの動作変更によって発生します。この警告を回避するには、コード内の演算子 "//" を "torch.div()" に置き換えることをお勧めします。
たとえば、私のコードには次の操作があります。

dim_t = self.temperature ** (2 * (dim_t // 2) / self.num_pos_feats)

その後、次のように変更できます。

dim_t = self.temperature ** (2 * torch.div(dim_t, 2, rounding_mode='trunc') / self.num_pos_feats)

問題が解決しました!

おすすめ

転載: blog.csdn.net/Ayu147258/article/details/129903137