Oleshe 36 Опубликовано: 29 января, 2023 (изменено) Мне понадобились функций библиотеки из python numpy, поэтому настрадавшись я сделал тот-же функционал но на луа. nl.array(a,b,c) -- создаёт список из заданных нами переменных nl.dot(array,array) -- перемножает одну таблицу на другую и плюсует все что в них осталось nl.exp(array or number) -- экспонента всех элементов таблицы или экспонента числа, с ней и настрадался Я не знаю какие еще функций там есть, если вам будет надо я добавлю. Прописка: pastebin get QiHTzdQ8 /lib/numlua.lua Результат в питоне и здесь отличаться на сотнях тысячных!! (148.4131591 а у нас 148.41315908646) Изменено 29 января, 2023 пользователем Oleshe Про разность результатов 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 29 января, 2023 7 минут назад, Oleshe сказал: Я не знаю какие еще функций там есть, если у вам будет надо я добавлю. Такие несложные функции каждый программист обычно сам пишет. Возможно, этот код кому-то пригодится в качестве учебного пособия, но для этого его потребуется немного поправить. 15 минут назад, Oleshe сказал: Результат в питоне и здесь отличаться на сотнях тысячных!! (148.4131591 а у нас 148.41315908646) Повысить точность вычислений можно, выбросив эту строчку: local help = 2.7182818284, а help ^ array заменив на math.exp(array). 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
vford 12 Опубликовано: 29 января, 2023 1 минуту назад, eu_tomat сказал: Повысить точность вычислений можно, выбросив эту строчку: local help = 2.7182818284, а help ^ array заменив на math.exp(array). Можно скомбинировать эти два варианта: сделать число e как локальную переменную: local _e = math.exp(1) Тогда не придется постоянно вызывать math.exp(), и это немножко прибавит производительности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 29 января, 2023 6 минут назад, vford сказал: Можно скомбинировать эти два варианта: сделать число e как локальную переменную: Тогда не придется постоянно вызывать math.exp(), и это немножко прибавит производительности. Этот трюк полезен, когда в первую очередь важна скорость вычислений, а точность вычислений при этом не особо важна. Но в математической библиотеке его использование нежелательно из-за увеличения погрешности вычислений. = math.exp(2) - math.exp(1)^2 8.8817841970013e-16 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 2 февраля, 2023 Ожидается Stable Diffusion в float16-режиме? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах