2025-01-06

vak: (Default)
Покажу красивые рисуночки, а подробности в статье:

"The boundary of neural network trainability is fractal" (PDF)

Абстракт: "Некоторые фракталы — например, те, что связаны с множествами Мандельброта и квадратичными множествами Жюлиа — вычисляются путем итерации функции и определения границы между гиперпараметрами, для которых результирующий ряд расходится или остается ограниченным. Обучение нейронной сети аналогичным образом включает итерацию функции обновления (например, повторные шаги градиентного спуска), что может привести к сходящемуся или расходящемуся поведению и может быть чрезвычайно чувствительно к небольшим изменениям гиперпараметров. Мотивированные этими сходствами, мы экспериментально изучаем границу между гиперпараметрами нейронной сети, которые приводят к стабильному или расходящемуся обучению. Мы обнаружили, что эта граница является фрактальной более чем на десять порядков масштаба во всех протестированных конфигурациях."

+4 )

tanh full batch (fractal dim 1.66)

vak: (Default)
Пишу тестики по работе, понадобилось случайное число в некотором диапазоне. Думаю, дай спрошу у искусственного интеллекта, благо под рукой. Как в Линуксе получить случайное целое число из командной строки? Ответ порадовал: три варианта на выбор, все доселе мне неизвестные. Причём на маке ровно так же работает. 

(1) Из bash:
echo $RANDOM
Если нужно число в диапазоне MIN-MAX, делаем:
echo $(( RANDOM % (MAX - MIN + 1) + MIN ))
(2) Командой shuf:
shuf -i MIN-MAX -n 1
Если требуется несколько чисел, единичку заменяем на количество.

(3) Командой openssl можно создать криптографически надёжное случайное число:
openssl rand -hex 4 | xxd -r -p | head -c 4 | od -An -tu4
Тут генерятся четыре случайных байта, преобразуются в беззнаковое целое и отображаются в десятичном виде.
vak: (Default)
[personal profile] suhajh посоветовал другой двухдиапазонный WiFi адаптер, и вот я его ставлю. Продаётся на Амазоне за $10.

Debian 12 на Олинуксино

Адаптер виден как:
$ lsusb
...
Bus 002 Device 002: ID 0bda:1a2b Realtek Semiconductor Corp. RTL8188GU 802.11n WLAN Adapter (Driver CDROM Mode)
Здесь линуксное ядро версии 6.1.0, и в нем нет встроенного драйвера для этого чипа. Надо устанавливать отдельно. Я перепробовал четыре драйвера, и ни один не распознал этот девайс как WiFi адаптер.
  • https://github.com/lsongdev/rtl8821cu.git
  • https://github.com/morrownr/8821cu-20210916.git
  • https://github.com/lwfinger/rtl8188gu.git
  • https://github.com/corneal64/RTL8188-linux-driver.git
Позже решение нашлось.

Ubuntu 24.10 на Raspberry Pi 5

Адаптер сразу распознался и заработал.
$ lsusb
...
Bus 004 Device 003: ID 0bda:c811 Realtek Semiconductor Corp. 802.11ac NIC

$ sudo dmesg
...
[ 822.410443] usb 4-2: new high-speed USB device number 3 using xhci-hcd
[ 822.538919] usb 4-2: New USB device found, idVendor=0bda, idProduct=c811, bcdDevice= 2.00
[ 822.538927] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 822.538932] usb 4-2: Product: 802.11ac NIC
[ 822.538936] usb 4-2: Manufacturer: Realtek
[ 822.538939] usb 4-2: SerialNumber: 123456
[ 822.542195] rtw_8821cu 4-2:1.0: Firmware version 24.11.0, H2C version 12
[ 825.597402] rtw_8821cu 4-2:1.0 wlx90de80094e08: renamed from wlan1 (while UP)

$ ip link
...
4: wlx90de80094e08: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 90:de:80:09:4e:08 brd ff:ff:ff:ff:ff:ff

Chimera Linux на старом макбуке

Адаптер ожил, после того как я установил usb_modeswitch и usb-modeswitch-data из исходников. Но разброс задержки пинга в два раза больше по сравнению с адаптером BrosTrend AC1200. Хоть он и громоздкий, зато имеет две антенны, и оно чувствуется.