Andrew
Pavel
denis ⛅️
Привет, вообщем проблема такая:
у меня есть numpy массив размера (64, 4, 128)
я хочу для каждого из 64 элементов перемешать внутри них 4 массива по 128 элементов между собой в соответствии с перестановкой (маска) размера (64, 4)
Как мне это сделать?
Обычный array[perms] выдает фигню размера (64, 4, 4, 128), хотя надо (64, 4, 128)
Tigran
> перестановка (маска)
это как?
Tigran
маска — это когда нули и единицы
Tigran
окей, я понял
Tigran
цикл не пойдёт?
denis ⛅️
Tigran
ну в смысле цикл по 64 массивам, а не по всему
denis ⛅️
с циклом все легко(
Tigran
m = (m + 4 * np.outer(np.arange(64), np.ones((4, 128)))).flatten()
a = a.reshape((64 * 4, 128))[m, :].reshape((64, 4, 128)
denis ⛅️
сильно
Tigran
лол
Anonymous
Определяю класс внутри функции с декоратором @property и возвращаю его как type, вызываю из другого скрипта через object.property.func. В property входит только один аргумент self, а в методы класса вместо self я вписал другое имя, допустим sub_self. Проблема в том, что когда я вызываю object.property.func(arg=foo) питон говорит missing 1 required positional argument: 'sub_self'
Maxim
Anonymous
Код где?
Уф, там много, но щас попробую кинуть
Anonymous
Anonymous
Anonymous
TypeError: prelistdir() missing 1 required positional argument: 'fs'
Anonymous
там в конце функции return FileSystem
Tishka17
Anonymous
Нахуй это уже другой вопрос
Anonymous
Меня больше интересует почему это не работает
Artyem
Меня больше интересует почему это не работает
потому что return FileSystem
тыже не инстанс возвращаешь, а сам класс, а если обращаться к классу требуется передать два аргумента.
есть подозрение что тебе @classmethod нужен
Tishka17
Tishka17
а так, Артём прав
Anonymous
Tishka17
Anonymous
ОКР
Anonymous
Мозг подумал типо "ну бля надо"
Anonymous
Вот и делаю
A$AP Vasya
Всем привет,
У меня есть приложение на Sanic, которое я запускаю, допустим с 4 workers. И мне также необходимо иметь Scheduler, но когда и испольщую SanicScheduler и task, получается, что 4 раза выполняется функция. Можно ли этого избежать?
Tishka17
ОКР
это не ОКР, а бредовое расстройство личности
Anonymous
Anonymous
Anonymous
Мне тупо так удобнее
Tishka17
Tishka17
Мне тупо так удобнее
через неедлю посмотришь и скажешь “чезахуйня, как этим теперь пользоваться?”
Anonymous
Anonymous
A$AP Vasya
шедулер должен отдельно запускаться
то бишь отдельный мейн должен быть для него или что-то типа того:
app = Sanic('main_project')
app_scheduler = Sanic('scheduler')
scheduler = SanicScheduler(app=app_scheduler)_------
app.run(host,port, etc)
app_scheduler.run()
Tishka17
A$AP Vasya
угу
второй вариант у меня не работает...
первый (с двумя мейнами, мне кажется не очень правильным подходом)
Сейчас попытался через листнер провернуть это, но опять же, каждый worker вызывает листнер. В какую сторону можно вообще двигаться?
Tishka17
ээ
Tishka17
это два разных файла
Tishka17
в одном app.run в другом app_scheduler.run
Tishka17
первы запускается через uwsgi или чято там у тебя, второй - сам по себе
Tishka17
зачем нужен SanicScheduler не понятно, когда есть sched, cron и планировщик куба
cookie🍪
так популярно стало говорить, что ты весь такой ОКР, СДВ или интроверт, прям как на баше
https://bash.im/img/5h3o09zr8jpdaw2j437748.png
Sasha
Ребят, подскажите, как использовать '__slots__'. Прочитал док, не очень понимаю когда он пригодится
Nikolay
когда нужен легкий объект
Tigran
когда нужно много маленьких объектов
Tishka17
когда ты знаешь что не будут поля добавляться и хочешь оптимизировать
Sasha
Спасибо
Anonymous
Помогите придумать набор команд для управления ботами в игре
Anonymous
Например есть методы для отдельного бота - авторизоваться, написать сообщение в чат, телепортироваться по координатам
Denis
еще нужна команда "сделай красиво"
Anonymous
Как организовать пространство команд так, чтобы можно было в одну строку отдать команду одному/группе роботов? К тому же команды могут быть зависимы друг от друга - например чтобы получить данные необходимые для одного метода, нужно для начала выполнить другой...
Tishka17
умеешь bash?
Tishka17
а вообще, выглядит как будто ты свой скриптовый язык пишешь
Anonymous
-mc attack -warp pvp -bots :50
Anonymous
Что-то вроде того
Anonymous
Anonymous
Anonymous
Я нормально выгляжу?
Tishka17
да
Anonymous
Фух, ок
Nikolay
Tishka17
а вот как только у тебя будет что-то типа
if param2*10%3>0; then
function —param $(function2 —param x)
fi;
вот тогда стои задуматься
Anonymous
Лол, хорошо)
Tishka17
то есть до того как ты это реализуешь
Tishka17
а когда захочешь
Tishka17
в этот момент надо все выбрасывать и предлагать писать команды на питоне/lua
Anonymous
Надеюсь не придется)