さて、コーダー仲間の皆さん、いかがお過ごしでしょうか。
さて、この記事では、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での実装について学びました。
このチュートリアルは気に入りましたか?いずれにせよ、以下のチュートリアルをご覧になることをお勧めします。
- Numpy平均()関数 – 簡単な概要
- Pandasのisin()関数 – 完全ガイド
- 知っておきたい!Pythonの4つの活性化関数
- PythonのLoss関数の概要
お時間を割いていただき、ありがとうございました! 何か新しいことを学べたでしょうか!