Реализация Softmax на Python, принимающая целочисленный ввод [закрыто]Python

Программы на Python
Ответить
Anonymous
 Реализация Softmax на Python, принимающая целочисленный ввод [закрыто]

Сообщение Anonymous »

Итак, я работаю над проектом, в котором мне нужно квантовать веса и смещения моей модели до целых чисел и выполнять последующие операции с целыми числами. Выходные данные моей модели могут быть значениями (int8) (в данном случае логитами), и мне нужно вызвать softmax для этого вывода/массива логитов. Мне удалось найти целочисленную реализацию softmax, написанную на C (https://github.com/ARM-software/CMSIS-N ... xFunctions). Проблема, с которой я столкнулся, заключается в том, чтобы оценить, является ли эта реализация C точной (или, точнее, что я использую ее точно). То, как я думаю это сделать, подробно описано ниже:
В Python
Возьмите мои целочисленные логиты -> вызвать целочисленную реализацию softmax на языке Python -> получить результат (python_integer_prediction_probabilities).
В C (с использованием CMSIS-NN)
Возьмите те же целочисленные логиты -> вызовите реализацию C softmax для моих логитов -> получите результат (CMSIS_NN_prediction_probabilities
)
Пример модульного теста будет:
Этот пример ввода:

Код: Выделить всё

const int8_t softmax_input[10] = {101, 49, 6, -34, -75, -79, -38, 120, -55, 115};
сопоставляется с этим выводом:

Код: Выделить всё

const int8_t softmax_output_ref[10] = {-57, -70, -79, -86, -92, -94, -88, -54, -91, -56};
Для справки я взял тестовые примеры отсюда.
Наконец, я сравниваю эти два результата, чтобы увидеть, достаточно ли они близки. Основная проблема, с которой я столкнулся, заключается в том, что я предполагал, что будет информация о том, как реализовать функцию softmax с использованием Python, которая принимает целочисленные входные данные, но я не могу ничего найти в Интернете. Есть ли у кого-нибудь идеи, как реализовать это в Python, или знает ресурсы, которые я мог бы использовать, чтобы понять это? спасибо.

Подробнее здесь: https://stackoverflow.com/questions/792 ... eger-input
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»