Спортивное программирование, признаться, прошло мимо меня. Надо посмотреть, не умеет ли Github Copilot уже нормально решать эти задачи. В смысле, может быть, и делать уже ничего не надо.
Я предпочту такой словарь, который я открываю, и там сразу на первом месте то слово, которое я ищу. Если у меня будет такой словарь, я постепенно забуду алфавит, за ненадобностью.
У вас есть данные по существу вопроса, ура! Можете их рассказать, пожалуйста?
Например: «Я в случае удаления этой галочки откажусь от обновления, потому что использую алфавитную сортировку ...» и дальше какой-нибудь сценарий про то, как вы её используете.
Ответ довольно общий получается. Грубо говоря, там две стороны.
Есть сама моделька, она маленькая (меньше 1Mb в памяти), и за скоростью появления комплишенов мы следим. Сейчас уже не так трудно понять, когда попап появился, и посчитать, сколько времени прошло с момента события, которое его тригеррнуло. Так что скорость инференса понятна, и мы её жёстко контролируем (готовы при этом резать качество).
А где-то в фоне в это время считаются факторы по вашему проекту, чтобы потом их использовал комплишен. Скорость и потребление ресурсов у этого процесса может зависеть от языка, OS, системы контроля версий и состава проекта. Об этом, может, при случае стоит отдельный пост написать, опросив всех, кто руку приложил.
Правда, бывало такое, что обсчёт фичей тормозил. Например, если много локальных изменений, то взаимодействие с VCS можно подтормаживать. Статистику по времени обсчёта фичей отдельно трекаем, ищем аномалии.
Ох, вот сейчас отвечу в стиле, который сам ненавижу, называется «у меня всё работает».
Если совсем по пунктам, то галочка с машиннообученными подсказками в CLion есть только в EAP, в стабильных версиях ещё нет. Но если даже её включить, скорость вряд ли вырастет, скорее всего, проблема в чём-то другом.
По нашим замерам, подсказки в CLion не самые быстрые среди всех наших IDE, но до такого ужаса, который вы описываете, доходить никак не должны. Надо расследовать в индивидуальном порядке.
Постараюсь целенаправленно выловить людей, которые занимаются CLion, и вернусь.
Этот код же, как я предполагаю, должен не просто на картинках работать, а на каком-то роботе-огороднике. Физически производить и внедрять этого робота запросто может быть нерентабельно. Пока его из Китая через таможню провезёшь, надо пять урожаев снять, чтобы окупить. =) Я утрирую, но смысл моих сомнений именно такой.
Уже сейчас можно поиском по фотографии в Гугле или Яндексе определить многие растения. Кажется, что научить робота заниматься прополкой в принципе нетрудно. Не факт, что это прямо сейчас рентабельно, но сделать точно можно.
Я видел доклад на похожую тему, Иван Дрокин его делал на SmartData (мир праху её) в 2017 году.
Там был конвейер и роботы, которые должны брать детали, сверлить в них дырки и класть обратно. Там кроме теней и бликов (да, это жизненно важно), использовали ещё две техники.
Роботов-то мало, у каждого камера, можно снять с инеё индивидуальные шумы и добавить в обуечние, помогает.
И ещё стилевой перенос! Можно брать рендер и с него переносить стиль на реальную картинку на камере (вроде бы именно в эту сторону), и типа огненно работает. Причём визуально картинки до и после переноса не отличаются. =)
Прочёл ветку комментариев, на которую вы ссылаетесь. Мне кажется, проблемы нет.
Регрессия везде есть «из коробки», работает быстро, не требует дорогого оборудования. В условиях отсутствия вычислительных мощностей лет 40 назад, вероятно, надо было задумываться, чтобы лишнее ручками не считать. Сейчас проще одну кнопку нажать и посмотреть, насколько разумные результаты получились. Если неразумные, то тогда уже можно разбираться. Такой порядок часто дешевле.
С чатботами всё непросто (вы, вероятно, это знаете). Практические задачи обычно фокусируются на узкой предметной области: техподдержка, вопросы про симптомы (на Highload был доклад про Doc+ на эту тему), такое. Не сказать, что есть общие принципы развития. Основной вопрос, который я вижу у людей на практике: где взять размеченный корпус текстов для данной предметной области (возможно, я упрощаю, поправьте, если так).
У нас пока есть планы на три кейса про обработку языков. Они могут ещё не все реализоваться (ведём переговоры), поэтому без имён и конкретики пока, но примерно так:
1) Если нет размеченного корпуса в какой-то области, как его намайнить или нагенерить
2) Как писать обработчик для языка, которого ты не знаешь
3) Как выделять в большом тексте определённые смысловые элементы (например, шутки)
Спортивное программирование, признаться, прошло мимо меня. Надо посмотреть, не умеет ли Github Copilot уже нормально решать эти задачи. В смысле, может быть, и делать уже ничего не надо.
Я предпочту такой словарь, который я открываю, и там сразу на первом месте то слово, которое я ищу. Если у меня будет такой словарь, я постепенно забуду алфавит, за ненадобностью.
У вас есть данные по существу вопроса, ура! Можете их рассказать, пожалуйста?
Например: «Я в случае удаления этой галочки откажусь от обновления, потому что использую алфавитную сортировку ...» и дальше какой-нибудь сценарий про то, как вы её используете.
Я не застал момента, когда её не было.
Но сейчас очень хотел бы её снести, потому и спрашиваю: вдруг кому-то для дела нужна?
Есть сама моделька, она маленькая (меньше 1Mb в памяти), и за скоростью появления комплишенов мы следим. Сейчас уже не так трудно понять, когда попап появился, и посчитать, сколько времени прошло с момента события, которое его тригеррнуло. Так что скорость инференса понятна, и мы её жёстко контролируем (готовы при этом резать качество).
А где-то в фоне в это время считаются факторы по вашему проекту, чтобы потом их использовал комплишен. Скорость и потребление ресурсов у этого процесса может зависеть от языка, OS, системы контроля версий и состава проекта. Об этом, может, при случае стоит отдельный пост написать, опросив всех, кто руку приложил.
Правда, бывало такое, что обсчёт фичей тормозил. Например, если много локальных изменений, то взаимодействие с VCS можно подтормаживать. Статистику по времени обсчёта фичей отдельно трекаем, ищем аномалии.
Сейчас-то нормально всё?
Indeed. Хорошо бы оно ещё где-то сразу находилось при попытке запостить картинку. Типа, укажите УРЛ или загрузите картинку на habrastorage.
Впрочем, в чужом глазу соринку всегда легко искать, так что особенно наезжать на интерфейс Хабра не чувствую моральных сил.
Рррр, почему нельзя локальную картинку загрузить в комментарий!
В общем, открываем Settings, и там Editor > General > Auto-Import
Если совсем по пунктам, то галочка с машиннообученными подсказками в CLion есть только в EAP, в стабильных версиях ещё нет. Но если даже её включить, скорость вряд ли вырастет, скорее всего, проблема в чём-то другом.
По нашим замерам, подсказки в CLion не самые быстрые среди всех наших IDE, но до такого ужаса, который вы описываете, доходить никак не должны. Надо расследовать в индивидуальном порядке.
Постараюсь целенаправленно выловить людей, которые занимаются CLion, и вернусь.
Уж как минимум, мог бы поставить Baz на первое место, да.
Там был конвейер и роботы, которые должны брать детали, сверлить в них дырки и класть обратно. Там кроме теней и бликов (да, это жизненно важно), использовали ещё две техники.
Роботов-то мало, у каждого камера, можно снять с инеё индивидуальные шумы и добавить в обуечние, помогает.
И ещё стилевой перенос! Можно брать рендер и с него переносить стиль на реальную картинку на камере (вроде бы именно в эту сторону), и типа огненно работает. Причём визуально картинки до и после переноса не отличаются. =)
Регрессия везде есть «из коробки», работает быстро, не требует дорогого оборудования. В условиях отсутствия вычислительных мощностей лет 40 назад, вероятно, надо было задумываться, чтобы лишнее ручками не считать. Сейчас проще одну кнопку нажать и посмотреть, насколько разумные результаты получились. Если неразумные, то тогда уже можно разбираться. Такой порядок часто дешевле.
У нас пока есть планы на три кейса про обработку языков. Они могут ещё не все реализоваться (ведём переговоры), поэтому без имён и конкретики пока, но примерно так:
1) Если нет размеченного корпуса в какой-то области, как его намайнить или нагенерить
2) Как писать обработчик для языка, которого ты не знаешь
3) Как выделять в большом тексте определённые смысловые элементы (например, шутки)