half
半精度数値オブジェクトの作成
説明
half コンストラクターを使用して、半精度データ型を数値または変数に割り当てます。半精度データ型は 16 ビット メモリしか占有しませんが、その浮動小数点表現を使って同じサイズの整数データ型または固定小数点データ型よりも広いダイナミック レンジを処理できます。詳細については、浮動小数点数 (Fixed-Point Designer)と半精度とは (Fixed-Point Designer)を参照してください。
半精度入力を使用したコード生成をサポートする関数のリストについては、半精度コード生成のサポートを参照してください。
作成
説明
は、a = half(v)v の値を半精度に変換します。
入力引数
入力配列。スカラー、ベクトル、行列、または多次元配列として指定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
複素数のサポート: あり
オブジェクト関数
以下の関数は、MATLAB® の半精度入力を使用したシミュレーションでサポートされています。MATLAB System object™ は半精度データ型をサポートし、MATLAB System (Simulink)ブロックは実数値を含む半精度データ型をサポートします。半精度入力を使用したコード生成をサポートする関数のリストについては、半精度コード生成のサポート (Fixed-Point Designer)を参照してください。
abs | 絶対値と複素数の大きさ |
acos | ラジアン単位の逆余弦 |
acosh | 逆双曲線余弦 |
asin | ラジアン単位の逆正弦 |
asinh | 逆双曲線正弦 |
atan | ラジアン単位の逆正接 |
atan2 | 4 象限逆正接 |
atanh | 逆双曲線正接 |
ceil | 正の無限大方向に丸める |
conj | 複素共役 |
conv | 畳み込みおよび多項式乗算 |
conv2 | 2 次元の畳み込み |
cos | 引数の余弦 (単位: ラジアン) |
cosh | 双曲線余弦 |
cospi | cos(X*pi) を正確に計算 |
cumsum | 累積和 |
dot | ドット積 |
exp | 指数 |
expm1 | 小さい X の exp(X)-1 を正確に計算 |
fft | 高速フーリエ変換 |
fft2 | 2 次元の高速フーリエ変換 |
fftn | N 次元の高速フーリエ変換 |
fftshift | ゼロ周波数成分をスペクトルの中心に移動 |
fix | ゼロ方向への丸め |
fixed.interp1 (Fixed-Point Designer) | 1-D data interpolation (table lookup) |
fixed.interp2 (Fixed-Point Designer) | Interpolation for 2-D gridded data in meshgrid
format |
fixed.interp3 (Fixed-Point Designer) | Interpolation for 3-D gridded data in meshgrid
format |
fixed.interpn (Fixed-Point Designer) | Interpolation for 1-D, 2-D, 3-D, and N-D gridded data in
ndgrid format |
floor | 負の無限大方向の丸め |
fma (Fixed-Point Designer) | 融合積和演算法を使用した乗算と加算 |
hypot | 二乗和の平方根 (斜辺) |
ifft | 逆フーリエ高速変換 |
ifft2 | 2 次元逆高速フーリエ変換 |
ifftn | 多次元逆高速フーリエ変換 |
ifftshift | 逆ゼロ周波数シフト |
imag | 複素数の虚数部 |
ldivide | 配列の左除算 |
log | 自然対数 |
log10 | 常用対数 (10 を底とする) |
log1p | 小さい X の 1+X の自然対数を正確に計算 |
log2 | 2 を底とした対数と浮動小数点数分解 |
mean | 配列の平均値 |
minus | 減算 |
mldivide | x に対する連立線形方程式 Ax = B の求解 |
mod | 除算後の剰余 (モジュロ演算) |
mrdivide | x に対する連立線形方程式 xA = B の求解 |
mtimes | 行列乗算 |
plus | 数値の加算と string の付加 |
pow10 (Fixed-Point Designer) | 基数 10 べき乗と半精度数のスケーリング |
pow2 | 2 を底とする指数と浮動小数点数のスケーリング |
power | 要素単位のべき乗 |
prod | 配列要素の積 |
rdivide | 配列の右除算 |
real | 複素数の実数部 |
rem | 除算後の剰余 |
round | 最も近い小数または整数への丸め |
rsqrt (Fixed-Point Designer) | 逆数平方根 |
sign | 符号関数 (関数 signum) |
sin | ラジアン単位の引数の正弦 |
sinh | 双曲線正弦 |
sinpi | sin(X*pi) を正確に計算 |
sqrt | 平方根 |
sum | 配列要素の和 |
tan | ラジアン単位の引数の正接 |
tanh | 双曲線正接 |
times | 乗算 |
uminus | 単項マイナス |
uplus | 単項プラス |
allfinite | すべての配列要素が有限かどうかの判別 |
anynan | いずれかの配列要素が NaN であるかどうかを判別 |
cast | 変数を別のデータ型に変換 |
cell | cell 配列 |
double | 倍精度配列 |
eps | 浮動小数点相対精度 |
flintmax | 浮動小数点形式の最大連続整数 |
Inf | すべて Inf 値の配列の作成 |
int16 | 16 ビット符号付き整数配列 |
int32 | 32 ビット符号付き整数配列 |
int64 | 64 ビット符号付き整数配列 |
int8 | 8 ビット符号付き整数配列 |
isa | 入力が指定されたクラスのインスタンスであるかどうかを判別する |
isfloat (Fixed-Point Designer) | 入力が浮動小数点データ型かどうかを判別 |
isinteger | 入力が整数配列かどうかを判別する |
islogical | 入力が logical 配列かどうかを判別 |
isnan | NaN の配列要素の判別 |
isnumeric | 入力が数値配列かどうかを判別 |
isobject | 入力が MATLAB オブジェクトかどうかを判別 |
isreal | 配列で複素数ストレージを使用するかどうかを判別 |
logical | 数値を logical に変換 |
NaN | すべて NaN 値の配列の作成 |
realmax | 正の最大浮動小数点数 |
realmin | 最小正規化浮動小数点数 |
single | 単精度配列 |
storedInteger (Fixed-Point Designer) | fi オブジェクトの格納整数値を取得 |
typecast | 基となるデータを変更せずにデータ型を変換 |
uint16 | 16 ビット符号なし整数配列 |
uint32 | 32 ビット符号なし整数配列 |
uint64 | 64 ビット符号なし整数配列 |
uint8 | 8 ビット符号なし整数配列 |
cat | 配列の連結 |
chol | コレスキー分解 |
circshift | 配列を循環シフト |
colon | ベクトルの作成、配列の添字、および for ループの反復 |
complex | 複素数配列の作成 |
createArray | Create array of specified class and value |
ctranspose | 複素共役転置 |
empty | 指定されたクラスの空の配列を作成 |
eye | 単位行列 |
flip | 要素の順序の反転 |
fliplr | 配列の左右の反転 |
flipud | 配列の上下の反転 |
horzcat | 異種混合配列の水平連結 |
iscolumn | 入力が列ベクトルかどうかを判別 |
isempty | 配列が空かどうかを判別 |
isfinite | 有限の配列要素の判別 |
isinf | 無限の配列要素の判別 |
ismatrix | 入力が行列かどうかを判別 |
isrow | 入力が行ベクトルかどうかを判別 |
isscalar | 入力がスカラーかどうかを判別 |
issorted | Determine if array is sorted |
isvector | 入力がベクトルかどうかを判別 |
length | 最大の配列の次元の長さ |
lu | 行列の LU 分解 |
max | 配列の最大要素 |
min | 配列の最小要素 |
ndims | 配列の次元数 |
numel | 配列の要素数 |
ones | すべての要素が 1 の配列の作成 |
permute | 配列の次元の並べ替え |
repelem | 配列要素のコピーの繰り返し |
repmat | 配列のコピーの繰り返し |
reshape | 既存の要素を再配列して配列を形状変更する |
size | 配列サイズ |
sort | 配列要素の並べ替え |
squeeze | 長さ 1 の次元の削除 |
transpose | ベクトルまたは行列の転置 |
vertcat | 異種混合配列の垂直連結 |
zeros | すべての要素が 0 の配列の作成 |
activations (Deep Learning Toolbox) | (非推奨) 深層学習ネットワーク層の活性化の計算 |
classify (Deep Learning Toolbox) | (非推奨) 学習済み深層学習ニューラル ネットワークを使用したデータの分類 |
predict (Deep Learning Toolbox) | 学習済みの自己符号化器を使用した入力の再構成 |
predictAndUpdateState (Deep Learning Toolbox) | (非推奨) 学習済み再帰型ニューラル ネットワークを使用した応答の予測とネットワーク状態の更新 |
サポートされる関数のリストを表示するには、MATLAB コマンド ウィンドウで次のように入力します。
methods(half(1))
例
倍精度数を半精度にキャストするには、関数 half を使用します。
a = half(pi)
a =
half
3.1406
関数 half を使用して、既存の変数を半精度にキャストすることもできます。
v = single(magic(3))
v = 3x3 single matrix
8 1 6
3 5 7
4 9 2
a = half(v)
a =
3x3 half matrix
8 1 6
3 5 7
4 9 2
拡張機能
半精度入力を使用したコード生成をサポートする関数のリストおよび関連する制限については、半精度コード生成のサポートを参照してください。
ターゲット ハードウェアが半精度をネイティブにサポートしていない場合、ストレージ型として
halfが使用され、算術演算は単精度で実行されます。関数によっては、ターゲット ハードウェアの種類にかかわらず、ストレージ型として
halfのみが使用され、算術演算は単精度で実行されます。深層学習コード生成では、half 入力は単精度にキャストされ、計算は単精度で実行されます。
MATLAB では、関数
isobjectに半精度の入力を与えると true が返されます。生成されたコードでは、この関数は false を返します。
半精度入力を使用したコード生成をサポートする関数のリストおよび関連する制限については、半精度コード生成のサポートを参照してください。
半精度データ型を含むコードの生成と実行には、CUDA® Compute Capability 5.3 以上が必要です。
半精度データ型を含むコードの生成と実行には、CUDA Toolkit version 10.0 以降が必要です。
CUDA コードを生成するためのメモリ割り当て (
malloc) モードは、'Discrete'に設定しなければなりません。詳細については、
coder.gpuConfigを参照してください。半精度複素数データ型は GPU コード生成でサポートされていません。
ターゲット ハードウェアが半精度をネイティブにサポートしていない場合、ストレージ型として
halfが使用され、算術演算は単精度で実行されます。関数によっては、ターゲット ハードウェアの種類にかかわらず、ストレージ型として
halfのみが使用され、算術演算は単精度で実行されます。深層学習コード生成では、half 入力は単精度にキャストされ、計算は単精度で実行されます。half での計算を実行するには、
coder.DeepLearningConfigでライブラリ ターゲットを'tensorrt'に設定し、データ型を'FP16'に設定します。MATLAB では、関数
isobjectに半精度の入力を与えると true が返されます。生成されたコードでは、この関数は false を返します。
バージョン履歴
R2018b で導入
参考
トピック
- 半精度コード生成のサポート
- 浮動小数点数 (Fixed-Point Designer)
- 半精度とは (Fixed-Point Designer)
- 半精度でのソーベル法によるエッジ検出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)