• Как сделать и вывести срез строки(String) C/C++?

    @Mercury13
    Программист на «си с крестами» и не только
    1.
    std::cout << text.substr(начало, длина) << std::endl;

    Поскольку перед нами учебный текст, дальше не буду подсказывать. Методом тыка выясни, что будет началом и что длиной.

    2. Ничего, что, если строка не оканчивается точкой, последнее «недопредложение» выведено не будет? Может быть, так и верно, но если задача — разделить текст по tab’ам или запятым, надо после цикла выкинуть то, что осталось.
    Ответ написан
    Комментировать
  • Можно ли использовать методы в структура в Си?

    @vanyamba-electronics
    Через указатель на функцию:
    typedef struct MyStruct {
        int my_int;
        void (*my_method)(MyStruct*);
    };
    
    void myMethod(MyStruct* obj)
    {
       obj->my_int = 0;
    }
    
    int main()
    {
        struct MyStruct my_struct;
        my_struct->my_method = myMethod;
        my_struct->my_method(my_struct);
        return 0;
    }
    Ответ написан
    Комментировать
  • Влияет ли на что-то объединение блока слоев в Sequential модель (Keras, TensorFlow)?

    @kamenyuga
    Это чисто для удобства. Потом при выводе картинки делаешь
    tf.keras.utils.plot_model(..., expand_nested=False)
    , чтобы внутренности оберток не рисовались. На этом все удобство заканчивается. Видимо, сделали чисто для использования в туториале.

    В общем и целом - полезность низкая. Лучше давать всем слоям осмысленные имена. Оборачивают в модели-обертки обычно крупные блоки, которые потом переиспользуют или сохраняют.
    Ответ написан
    Комментировать
  • Как написать нейросеть способную распознать улицы на которых ведутся работы через NLP?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    по-моему, достаточно векторной близости безо всяких нейросетей
    ну или обучить корпус кивордам, говорящим о ремонте, их будет штук 20 (если не 5) для официоза, и 200 для простой речи

    к слову, в новомодных GTP в основе все она же, родимая
    хорошо видно по казусам
    просто корпус огромный и тут уже предобучение решает
    Ответ написан
    5 комментариев
  • В чем причина неэффективного обучения DQN-агента посредством python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не смотрел код. Но могу предположить следующее. Возможно сеть пытается выучить наизусть все
    пути ведущие к победе. Их порядка 8 тысяч.

    Нужно ввести в сеть искусственные подсказки. Как в шахматах пару функций оценки позиции которые
    говорят хорошая позиция или плохая получается на данном ходе. Например 2 крестика в ряд - это плюс один
    к хорошей позиции. С учетом возможности поставить крестик в свободное место.

    Я думаю даже в альфа-зеро такие вводили. Например учет камней.
    Ответ написан
    4 комментария
  • Нейросети, пакеты, библиотеки, откуда такая сложность?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    В общем-то, все просто, если у вас нейронов штук 100. Ну 1000 - тогда решение с помощью массивов и сработает, хоть и тормозить будет.

    Но когда у вас этих нейронов сотни тысяч-миллионы, да еще организованных в десятки слоев определенным образом, надо уже придумывать что-то более хитрое.

    Все эти библиотеки на низком уровне работают с алгеброй и другой математикой. Там всякие разряженные матрицы раскладываются во всякие разложения, обращаются и обсчитываются, чтобы получить тот же результат, но на порядки быстрее.

    Плюс сложность возникает, если вы хотите строить нейросети более абстрактно. Потому что руками задавать, что вот у вас 10000 нейронов, и первый связан с пятым, триннадцатым и еще вот этими 1000 - невозможно никак. Поэтому вводятся всякие слои и куча других абстракций, чтобы все это можно было в кучу собрать в 100 строчек кода, а не в 100 миллионов. Плюс куча абстракций чтобы можно было тренировать сети разными алгоритмами и все было гибко.

    Именно поэтому все эти универсальные библиотеки такие страшные.

    А decimal не работает, потому что у него не хватает точности. Плюс float работает быстрее ибо реализован аппаратно.
    Ответ написан
    4 комментария