Создайте численный объект половинной точности
Используйте half
конструктор, чтобы присвоить тип данных полуточности номеру или переменной. Тип данных полуточности занимает 16 битов памяти, но ее представление с плавающей точкой позволяет ему обработать более широкие динамические диапазоны, чем целое число или типы данных с фиксированной точкой, одного размера.
Для получения дополнительной информации смотрите Числа с плавающей запятой (Fixed-Point Designer).
v
— Входной массивВходной массив, заданный как скалярный, векторный, матричный или многомерный массив.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Поддержка комплексного числа: Да
Эти функции поддерживаются для использования с входными параметрами полуточности.
abs | Абсолютное значение и комплексная амплитуда |
acos | Обратный косинус в радианах |
acosh | Обратный гиперболический косинус |
asin | Обратный синус в радианах |
asinh | Обратный гиперболический синус |
atan | Обратный тангенс в радианах |
atan2 | Обратный тангенс с четырьмя квадрантами |
atanh | Гиперболический арктангенс |
ceil | Округление в сторону плюс бесконечности |
conj | Сопряженное комплексное число |
conv | Свертка и умножение полиномов |
conv2 | 2D Свертка |
cos | Косинус аргумента в радианах |
cospi | Вычислите cos(X*pi), точно |
dot | Скалярное произведение |
exp | Экспоненциал |
expm1 | Вычислите exp (x)-1 точно для маленьких значений x |
fft | Быстрое преобразование Фурье |
fft2 | 2D быстрое преобразование Фурье |
fftn | Быстрое преобразование Фурье N-D |
fftshift | Переключите нулевую частотную составляющую в центр спектра |
fix | Округление в сторону нуля |
floor | Округление в сторону минус бесконечности |
fma (Fixed-Point Designer) | Умножьте и добавьте, что сплавленное использование умножается, добавляет подход |
hypot | Квадратный корень из суммы квадратов (гипотенуза) |
ifft | Обратное быстрое преобразование Фурье |
ifft2 | 2D обратное быстрое преобразование Фурье |
ifftn | Многомерное обратное быстрое преобразование Фурье |
ifftshift | Обратный сдвиг нулевой частоты |
imag | Мнимая часть комплексного числа |
ldivide | Левое деление массива |
log | Натуральный логарифм |
log10 | Десятичный логарифм (базируются 10), |
log1p | Вычисление log(1+x) точно для маленьких значений x |
mean | Среднее значение массива |
minus | Вычитание |
mldivide | Решите системы линейных уравнений Ax = B для x |
mod | Остаток после деления (операция с модулем) |
mrdivide | Решите системы линейных уравнений xA = B для x |
mtimes | Умножение матриц |
plus | Сложение или добавляет строки |
pow10 (Fixed-Point Designer) | Основывайте 10 степеней и числа полуточности шкалы |
pow2 | Основывайте 2 степени и числа с плавающей запятой шкалы |
power | Поэлементная степень |
prod | Произведение элементов массива |
rdivide | Деление правого массива |
real | Действительная часть комплексного числа |
rem | Остаток после деления |
round | Округление к самому близкому десятичному числу или целому числу |
rsqrt (Fixed-Point Designer) | Взаимный квадратный корень |
sign | Знаковая функция (сигнум-функция) |
sin | Синус аргумента в радианах |
sinh | Гиперболический синус |
sinpi | Вычислите sin (X*pi) точно |
sqrt | Квадратный корень |
sum | Сумма элементов массива |
tan | Тангенс аргумента в радианах |
tanh | Гиперболический тангенс |
times | Умножение |
uminus | Унарный минус |
uplus | Унарный плюс |
cast | Преобразуйте переменную в другой тип данных |
cell | CellArray |
double | Массивы с двойной точностью |
eps | Относительная точность с плавающей точкой |
Inf | Создайте массив всего Inf значения |
int16 | 16-битные массивы целого числа со знаком |
int32 | 32-битные массивы целого числа со знаком |
int64 | 64-битные массивы целого числа со знаком |
int8 | 8-битные массивы целого числа со знаком |
isa | Определите, задал ли введенный тип данных |
isfloat (Fixed-Point Designer) | Определите, является ли введенный типом данных с плавающей точкой |
islogical | Определяет, является ли вход логический массив |
isnan | Определите, какие элементы массива являются NaN |
isnumeric | Определите, является ли введенный числовым массивом |
isreal | Определите, использует ли массив комплексное устройство хранения данных |
logical | Преобразуйте числовые значения в logicals |
NaN | Создайте массив всего NaN значения |
single | Массивы с одинарной точностью |
uint16 | 16-битные массивы беззнаковых целых чисел |
uint32 | 32-битные массивы беззнаковых целых чисел |
uint64 | 64-битные массивы беззнаковых целых чисел |
uint8 | 8-битные массивы беззнаковых целых чисел |
all | Определите, являются ли все элементы массива ненулевыми или true |
and | Найдите логический AND |
any | Определите, являются ли какие-либо элементы массива ненулевыми |
eq | Определите равенство |
ge | Определите больше, чем или равный |
gt | Определите больше, чем |
isequal | Определите равенство массивов |
isequaln | Определите равенство массивов, обработав значения NaN как равные |
le | Определите меньше чем или равный |
lt | Определите меньше, чем |
ne | Определите неравенство |
not | Найдите логическими НЕТ |
or | Найдите логический OR |
cat | Конкатенация массивов |
circshift | Циклический сдвиг массива |
colon | Векторное создание, индексирование массивов и for - итерация цикла |
complex | Создание массива комплексных чисел |
ctranspose | Комплексное сопряженное транспонирование |
eye | Единичная матрица |
flip | Инвертируйте порядок элементов |
full | Преобразуйте разреженную матрицу в полное устройство хранения данных |
horzcat | Горизонтальная конкатенация для разнородных массивов |
iscolumn | Определите, является ли входной параметр вектором - столбцом |
isempty | Определите, пуст ли массив |
isfinite | Определите, какие элементы массива конечны |
isinf | Определите, какие элементы массива бесконечны |
ismatrix | Определите, является ли входной параметр матрицей |
isrow | Определите, является ли входной параметр вектором - строкой |
isscalar | Определите, является ли входной параметр скаляром |
isvector | Определите, является ли входной параметр вектором |
length | Длина самого большого измерения массива |
max | Максимальные элементы массива |
min | Минимальные элементы массива |
ndims | Количество измерений массива |
numel | Количество элементов массива |
ones | Создайте массив из всех единиц |
permute | Перестановка измерений массива |
repelem | Копирование элементов массива |
repmat | Копирование массива |
reshape | Изменение размерности массива |
size | Размер массивов |
subsasgn | Переопределите преобразованное в нижний индекс присвоение |
subsref | Преобразованная в нижний индекс ссылка |
transpose | Транспонируйте вектор или матрицу |
vertcat | Вертикальная конкатенация для разнородных массивов |
zeros | Создайте массив всех нулей |
display | Покажите информацию о переменной или результате выражения |
area | Область 2D альфа-формы |
bar | Столбчатый график |
barh | Горизонтальный столбчатый график |
fplot | Постройте график выражения или функции |
line | Создайте примитивную линию |
plot | 2D график |
plot3 | 3-D точка или линейный график |
plotmatrix | Матрица графика поля точек |
rgbplot | Постройте палитру |
scatter | График поля точек |
scatter3 | 3-D точечный график |
xlim | Установите или запросите x - пределы по осям |
ylim | Установите или запросите y - пределы по осям |
zlim | Установите или запросите z - пределы по осям |
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
Следующие функции, которые поддерживают входные параметры полуточности, не поддерживают комплексные входные параметры полуточности.
rsqrt
fma
Все функции, которые поддерживают входную генерацию кода поддержки полуточности, за исключением rsqrt
функция.
В MATLAB, isobject
функция возвращает true с входом полуточности. В сгенерированном коде эта функция возвращает false.
Если ваш целевой компьютер не имеет нативной поддержки полуточности, то half
используется в качестве типа хранения, с арифметическими операциями, выполняемыми в с одинарной точностью.
Некоторые функции используют half
только как тип хранения и арифметика выполняется в с одинарной точностью, независимо от целевого компьютера.
Для генерации кода глубокого обучения половина входных параметров брошена к одинарной точности, и расчеты выполняются в одинарной точности.
CUDA® вычисляет возможность 5,3, или выше требуется для того, чтобы сгенерировать и выполнить код с типами данных полуточности.
Версия инструментария CUDA 10,0 или позже требуется для того, чтобы сгенерировать и выполнить код с типами данных полуточности.
Необходимо установить выделение памяти (malloc
) режим к 'Discrete'
для генерации кода CUDA.
Сложные типы данных полуточности не поддерживаются для генерации кода графического процессора.
Для Генерации кода графического процессора можно выполнить умножение матриц полуточности с действительными входными параметрами.
В MATLAB, isobject
функция возвращает true с входом полуточности. В сгенерированном коде эта функция возвращает false.
fft
, fft2
, fftn
, fftshift
, ifft
, ifft2
, ifftn
, и ifftshift
не поддерживаются для генерации кода графического процессора.
Если ваш целевой компьютер не имеет нативной поддержки полуточности, то half
используется в качестве типа хранения, с арифметическими операциями, выполняемыми в с одинарной точностью.
Некоторые функции используют half
только как тип хранения и арифметика выполняется в с одинарной точностью, независимо от целевого компьютера.
Для генерации кода глубокого обучения половина входных параметров брошена к одинарной точности, и расчеты выполняются в одинарной точности. Чтобы выполнить расчеты в половине, поставьте цель библиотеки к 'tensorrt'
и набор тип данных к 'FP16'
в coder.DeepLearningConfig
.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.