Я, Сакшам Арора, студент 3-го курса бакалавриата технических наук, был студентом-разработчиком в Python Software Foundation в течение последних 4 месяцев в рамках программы Google Summer of Code и успешно завершил программу 31 августа 2020 года, в последний день. для программы этого года! Итак, для незнакомых: Что такое Google Summer of Code (GSoC)? Это годовая программа, в рамках которой студенты университетов со всего мира вносят свой вклад в разработку программного обеспечения с открытым исходным кодом во время перерыва в учебе летом (начиная с с апреля / мая и до августа). Программа состоит из организаций, которые регистрируются в программе примерно в феврале с проектами, которые собираются принять участие в программе. Заинтересованные студенты начинают обсуждать проектные идеи с организациями и подают заявки на эти проекты со своими предложениями по этим проектным идеям. Принятые студенты затем начинают писать код в течение лета. Программа стимулируется Google, предлагая стипендии принятым студентам.

Итак, какова моя предыстория?

Я заканчивал второй семестр изучения информационных технологий в Технологическом институте Махараджи Аграсен, Дели, Индия, когда я узнал, что есть программа под названием GSoC, где студентам предоставляется возможность внести свой вклад в программное обеспечение с открытым исходным кодом от моего друга, который принимал участие. в GSoC'19. Я видел, как много он узнал и вырос как программист во время и после программы. В то время я писал код только на C ++ и не знал заранее ни Python, ни какой-либо другой язык. Итак, я начал изучать Python и через несколько недель познакомился с миром машинного обучения. Именно тогда я начал вносить свой вклад в разработку программного обеспечения с открытым исходным кодом. Я искал организации и проекты, которые заинтересовали меня, и начал вносить свой вклад. По большей части я вносил свой вклад, потому что узнавал много нового! В марте 2020 года я подал заявку и 4 мая был принят на летнюю учебу.

Краткое содержание моего проекта - Интеграция обработки изображений в DFFML

DFFML - это проект на основе машинного обучения, который предоставляет API-интерфейсы для обучения и тестирования наборов данных с использованием различных фреймворков машинного обучения, таких как scikit-learn и т. д .; упрощая ввод своих наборов данных для обучения и тестирования, независимо от уровня знаний пользователя в программировании.

Проект Интеграция обработки изображений в DFFML был направлен на добавление в DFFML различных функций для правильного выполнения задач обработки изображений, таких как классификация изображений, что упростило бы выполнение любого при использовании DFFML и получения желаемого. приводит к чистому и удобному для пользователя способу.

До этого проекта не существовало определенного и быстрого способа обучения и тестирования моделей машинного обучения в DFFML на визуальных данных. Скорее всего, большинство алгоритмов машинного обучения будут очень точно соответствовать обучающим данным, особенно когда данных недостаточно для обучения. Отчасти проблема заключается в том, что визуальные данные очень сложны, поэтому модели, как правило, имеют более высокие размеры входных данных и, следовательно, множество параметров, которые нужно подобрать.

Следовательно, возникла потребность в менее трудоемком и точном способе выполнения задач обработки изображений с помощью DFFML.

Проект разделен на 2 основные части:

  1. Добавление способов чтения наборов данных изображений и выполнения над ними операций предварительной обработки.
  2. Добавление современных и точных моделей машинного обучения для выполнения различных задач обработки изображений, таких как классификация изображений, обнаружение объектов и т. Д.

Прочитать подробный итоговый отчет о том, что я сделал этим летом - Final Report

Подробное еженедельное описание можно найти в моих еженедельных блогах - https://blogs.python-gsoc.org/en/sakshamaroras-blog/

Как можно попасть в эту программу?

Многие студенты не понимают, как работает эта программа, и здесь я постараюсь самым простым способом устранить некоторые из основных препятствий, с которыми сталкиваются студенты, приступая к работе с открытым исходным кодом и GSoC.

1. Как начать работу с открытым исходным кодом?

Чтобы начать вносить свой вклад в проекты с открытым исходным кодом, узнайте, как использовать системы контроля версий, такие как Git / GitHub, разберитесь, как эти системы работают. Это можно легко сделать, прочитав одну из множества подробных статей в Интернете, онлайн-ресурсах (MOOC и т. Д.) Или посмотрев видео на YouTube.

2. Как подготовиться к GSoC? Какую организацию / проект выбрать?

Подготовка: не существует определенного / проверенного способа подготовки к программе, который гарантировал бы, что ее всегда примут. Это зависит от навыков, которыми вы обладаете для конкретной организации / проекта, в который вы подаете заявку.

Организация / проект: чтобы выбрать проект, в который вы хотите внести свой вклад, вы можете посетить сайт - https://summerofcode.withgoogle.com/organizations/, выполнить поиск и отфильтровать по проектам / языкам, которые вы выбрали Вам интересно. Прочтите их инструкции и ищите хорошие первые выпуски, чтобы начать работу и укрепить свою уверенность! Да, это так просто! (Я знаю, что сначала это кажется устрашающим, мне тоже это показалось, но сделать первый шаг всегда труднее всего). тогда вы сможете перейти к более серьезным вопросам и зарекомендовать себя как трудолюбивый человек. Не сомневайтесь, задавая вопросы администраторам проекта.

3. Нужно ли мне быть выдающимся разработчиком / программистом, чтобы участвовать в GSoC?

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

Наконец, я бы сказал, что последовательность - это главный ключ! Я считаю, что «упорный труд» - единственное, что стоит между вами и вашими целями! В пути вас будет много отвлекать, но всегда помните, что Последовательность всегда ведет к совершенству.

Если кто-то из участников GSoC, читающий эту статью, считает, что я упустил что-то важное, дайте мне знать, и я обязательно добавлю это в эту статью.

Спасибо за внимание!