Создайте численный объект половинной точности
Используйте 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.
Для получения дополнительной информации смотрите coder.gpuConfig.
Сложные типы данных полуточности не поддерживаются для генерации кода графического процессора.
Для Генерации кода графического процессора можно выполнить умножение матриц полуточности с действительными входными параметрами.
В MATLAB, isobject функция возвращает true с входом полуточности. В сгенерированном коде эта функция возвращает false.
fft, fft2, fftn, fftshift, ifft, ifft2, ifftn, и ifftshift не поддерживаются для генерации кода графического процессора.
Если ваш целевой компьютер не имеет нативной поддержки полуточности, то half используется в качестве типа хранения, с арифметическими операциями, выполняемыми в с одинарной точностью.
Некоторые функции используют half только как тип хранения и арифметика выполняется в с одинарной точностью, независимо от целевого компьютера.
Для генерации кода глубокого обучения половина входных параметров брошена к одинарной точности, и расчеты выполняются в одинарной точности. Чтобы выполнить расчеты в половине, поставьте цель библиотеки к 'tensorrt' и набор тип данных к 'FP16' в coder.DeepLearningConfig.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.