PyTorchのClampメソッドを使ってリストの最大値、最小値を任意の数に収める方法

スポンサーリンク

さて、コーダー仲間の皆さん、いかがお過ごしでしょうか。

さて、この記事では、PyTorchのclamp()関数に手を出してみます。

理論的な観点と実用的な観点の両方から見ていきます。

さっそく始めてみましょう。


スポンサーリンク

Pythonでのclamp()入門 PyTorch

clamp()関数は、指定した範囲内で値を拘束するために使用されます。

まず、これを整理してみましょう。

60から110までの数値の範囲が与えられていて、85という数値を求めるとします。

その結果、clamp()関数は、その値を85に制限します。

この場合、85は60と110の間に位置するため、計算が簡単になります。

しかし、35を選択すると、範囲外になってしまいます。

この場合、範囲の真ん中ではなく、下限に最も近いので60に制限されます。

同様に、110より大きな数字、例えば132を入力すると、132は上限である110に近いので、110を返します。


PyTorchでclamp()関数を実装する

それでは、PyTorchでclamp()関数を実装してみましょう。

clamp()関数を使用する

Pythonのclamp機能は言語には組み込まれていませんが、以下のコードで定義することができます

1
2
3
4
5
6
def clamp_fucntion (no , min_no , max_no ):
        n = max(min(no, max_no), min_no)
        return n
print( "Find 10 in 20 to 30 : ", clamp_fucntion(10 ,20 ,30) )
print( "Find 25 in 20 to 30 : ", clamp_fucntion(25 ,20 ,30 ) )
print( "Find 115  in 20 to 30 : ",  clamp_fucntion(115 ,20 ,30 ) )
Find 10 in 20 to 30 :  20
Find 25 in 20 to 30 :  25
Find 115  in 20 to 30 :  30

clamp関数を実装する他の方法もいくつかあります。

以下のセクションで、そのいくつかを見てみましょう。

Pytorch Clamp()

しかし、この関数はPythonのコア部分ではあまり使われませんが、PytorchやWand ImageMagickライブラリのような多くのPythonライブラリでは広く利用されています。

さらに、この関数はこれらのライブラリにすでに含まれています。

あなたはただそれをインポートして、必要に応じて利用するだけでよいのです。

それでは、いくつかの例を見てみましょう。

1
2
3
4
5
6
7
import torch
 
T = torch.FloatTensor([3,12,15,18,21])
print("Input Tensor: ", T)
 
output = torch.clamp(T,min=10,max=20)
print("Output Tensor: ",output)
Input Tensor:  tensor([ 3., 12., 15., 18., 21.])
Output Tensor:  tensor([10., 12., 15., 18., 20.])

まとめ

Clamp関数とそのPythonでの実装について学びました。

このチュートリアルは気に入りましたか?いずれにせよ、以下のチュートリアルをご覧になることをお勧めします。

  1. Numpy平均()関数 – 簡単な概要
  2. Pandasのisin()関数 – 完全ガイド
  3. 知っておきたい!Pythonの4つの活性化関数
  4. PythonのLoss関数の概要

お時間を割いていただき、ありがとうございました! 何か新しいことを学べたでしょうか!


タイトルとURLをコピーしました