+2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
The count is coded into a one-octet number using the following
formula:
#define EXPBIAS 6
count = ((Int32)16 + (c & 15)) << ((c >> 4) + EXPBIAS);
The above formula is in C, where "Int32" is a type for a 32-bit
integer, and the variable "c" is the coded count, Octet 10.
Стандарт PHGP, набайтоёблено где не ждали. Казалось бы, в чем сложность отвести один октет на базу, а другой на сдвиг? Но сишнику проще даже не объяснить происходящее в стандарте, а просто кинуть код, типа, и так понятно же.
https://tools.ietf.org/html/rfc4880#page-12
Запостил: Fike,
30 Июня 2020
bormand 30.06.2020 11:36 # +2
nemyx 30.06.2020 13:50 # 0
https://ru.wikipedia.org/wiki/Число_половинной_точности
https://en.wikipedia.org/wiki/Half-precision_floating-point_format
Я не знаю, что им можно считать. Там же погрешность набегает шопипец.
Это говно даже в «IEEE 754» внесли. Хорошо, что в 8087 его реализовывать не стали.
bormand 30.06.2020 13:52 # +2
nemyx 30.06.2020 15:56 # +1
https://en.wikipedia.org/wiki/Bfloat16_floating-point_format
Есть «IEEE half-precision 16-bit float» с 10-битной мантиссой, есть «bfloat16» с семибитной мантиссой.
Помимо этого есть 18-битный «NVidia's TensorFloat» с 10-битной мантиссой, есть кодек «G.711» с 8-битным цыплёнком с четырёхбитной мантиссой, есть «Khronos» с 11-битным цыплёнком с 6-битной мантиссой и с 10-битным цыплёнком с 5-битной мантиссой...
Вот тут ещё немного питушни:
http://www.mrob.com/pub/math/floatformats.html
gost 30.06.2020 13:55 # +1
nemyx 30.06.2020 14:13 # +2
В мышином обучении что-то подобное?
bormand 30.06.2020 14:19 # +2
gost 30.06.2020 14:53 # +2
bormand 30.06.2020 14:55 # 0
А зачем тогда флоаты?
gost 30.06.2020 14:58 # 0
UPD: А, понял тебя. Плавающие питухи там для весов, их-то нормировать не получится. Причём скатывание весов в NaN/Inf — распространённая проблема.
bormand 30.06.2020 15:06 # 0
UPD: Понятно.
gost 30.06.2020 15:13 # 0
Ну и бульмень стабильная относительная погрешность тоже наверняка играет роль, веса могут вылезать далеко-высоко.
bormand 30.06.2020 15:18 # 0
Fike 30.06.2020 18:35 # 0
fixed that for you
3.14159265 03.07.2020 18:54 # 0
Кроме FP16, там есть INT8 и даже INT4.
> Each T4 comes with 16GB of GPU memory, offers the widest precision support (FP32, FP16, INT8 and INT4), includes NVIDIA Tensor Core and RT
> когда флоаты работают быстрее царских интов...
А вот и хуй.
260 TOPs INT4 performance, 130 TOPs INT8, 65 TFLOPS FP16, 8.1 TFLOPS FP32
https://cloud.google.com/blog/products/ai-machine-learning/nvidia-tesla-t4-gpus-now-available-in-beta
bormand 03.07.2020 19:53 # 0
> 130 для 8 бит
> 65 для 16 бит
Хм, т.е. они все с одинаковой скоростью работают. Просто мелких чисел больше обрабатывается за раз.
guest8 30.06.2020 22:25 # −999