Conheça o YOLO26: IA de visão de próxima geração.
Ultralytics
Ultralytics YOLO

Dicas para começar a contribuir para projetos open-source da Ultralytics

Aprende a contribuir para projetos open-source da Ultralytics e explora as melhores dicas relacionadas com a documentação, revisão de PRs e utilização de ferramentas essenciais.

ABAbirami Vina
4 min read
Razões para contribuir para os projetos open-source da Ultralytics

A base do software de código aberto é a colaboração, o aprendizado e o compartilhamento. Projetos de código aberto são uma ótima maneira para as pessoas se unirem para construir algo maior que elas mesmas. Na Ultralytics, levamos os princípios do código aberto a sério e sempre incentivamos você a contribuir com nossos projetos de código aberto.

Se você está empolgado para contribuir, seja escrevendo documentação, revisando código ou resolvendo problemas, mas não tem certeza de por onde começar ou está enfrentando alguns problemas, estamos aqui para te ajudar a começar. Neste artigo, vamos te apresentar algumas dicas para começar a contribuir com projetos de código aberto da Ultralytics. Vamos lá!

Link to this sectionA importância das contribuições da comunidade da Ultralytics#

Antes de darmos uma olhada em como contribuir, vamos responder à pergunta de por que as contribuições são tão cruciais. Acreditamos fortemente na importância das contribuições da comunidade da Ultralytics. Ao participar dos nossos projetos de código aberto, você está fazendo mais do que apenas nos ajudar a construir um software melhor. Os contribuidores desempenham um papel fundamental em garantir que nossa tecnologia permaneça aberta, colaborativa e em constante evolução. Suas contribuições mantêm nossos projetos prosperando, acessíveis e benéficos para usuários e desenvolvedores em todo o mundo!

Além de criar software de ponta, contribuir com projetos da Ultralytics é também uma oportunidade fantástica para você crescer. Você pode desenvolver suas habilidades de programação, resolução de problemas e trabalho em equipe enquanto trabalha ao lado de desenvolvedores experientes que podem oferecer orientação e compartilhar as melhores práticas. Seus esforços podem ter um impacto real em ferramentas usadas por milhares de pessoas globalmente. Engajar-se com nossa comunidade também pode te ajudar a expandir sua rede profissional, abrir novas oportunidades e aprimorar seu portfólio para se destacar perante empregadores.

Razões para contribuir com projetos open-source

Fig 1. Razões para contribuir. Imagem do autor.

Link to this sectionComo começar com contribuições de código aberto da Ultralytics#

Um ótimo lugar para começar é conferindo o guia oficial de contribuição da Ultralytics. Ele está repleto de melhores práticas e dicas para te ajudar a aproveitar ao máximo suas contribuições. O primeiro passo seria se familiarizar com o que já faz parte do projeto, entendendo as diretrizes de contribuição e mergulhando no código.

Se você quer contribuir com o desenvolvimento ou apenas quer explorar o código mais recente, o próximo passo é clonar o repositório da Ultralytics. Assim que fizer isso, você pode ir para o diretório do projeto e instalar o pacote no modo editável, conforme mostrado no trecho de código abaixo.

Se precisar de ajuda, nosso guia de início rápido tem tudo o que você precisa para começar sem problemas.

Link to this sectionDiferentes áreas para contribuir#

Depois de configurar seu ambiente e se familiarizar com o projeto, você pode explorar as diferentes áreas onde pode causar um impacto significativo. A Ultralytics oferece várias maneiras de se envolver, e você pode escolher como contribuir com base em suas habilidades e interesses.

Aqui está uma olhada em algumas das opções:

  • Documentação: Contribuir com a documentação é uma ótima maneira de mergulhar no projeto enquanto aprimora suas habilidades de escrita. Você pode ajudar melhorando a documentação existente, adicionando detalhes ausentes ou criando novos guias que facilitam a contribuição de outros.
  • Correções de bugs: Se você tem alguma experiência em programação, considere trabalhar em correções de bugs. Elas podem variar de ajustes menores a problemas mais complexos, dando a você a chance de causar um impacto tangível no projeto.
  • Melhorias de recursos: Para aqueles que estão prontos para se aprofundar, trabalhar em melhorias de recursos pode ser desafiador e gratificante. Isso pode envolver a adição de novos recursos, o aprimoramento dos existentes ou o trabalho no roteiro do projeto.
  • Revisões de pull requests: Revisar pull requests é outra maneira valiosa de contribuir, especialmente se você estiver familiarizado com os padrões e melhores práticas do projeto. Ao fornecer feedback e sugerir melhorias, você ajuda a manter a qualidade e a integridade da base de código.
  • Discussões na comunidade: Engajar-se em discussões na comunidade é uma excelente maneira de contribuir se você gosta de colaboração e de compartilhar ideias. Participe de conversas em andamento, proponha novas ideias ou ajude outros oferecendo suas percepções e soluções.

Cada uma dessas áreas oferece uma maneira única de contribuir, e você pode escolher a que melhor se alinha com seus pontos fortes e interesses. Lembre-se, cada contribuição, não importa quão pequena, desempenha um papel fundamental em ajudar a Ultralytics a crescer e evoluir.

Cada contribuição é valorizada em nossa comunidade em crescimento

Fig 2. Cada contribuição é valorizada em nossa crescente comunidade. Fonte da imagem: Envato Elements.

Link to this sectionContribuindo para a documentação de código aberto da Ultralytics#

Ao contribuir com a documentação da Ultralytics, certifique-se de revisar a documentação existente e verificar se há problemas ou discussões que destaquem áreas que precisam de melhoria. Fazer isso ajuda a garantir que suas contribuições sejam focadas onde são mais necessárias.

Ao escrever ou editar, tenha em mente que é fundamental seguir as diretrizes do projeto para manter a consistência. Aqui estão algumas dicas de formatação:

  • Sempre use formatação Markdown.
  • Comece cada documento com uma introdução clara e mantenha sua linguagem simples e acessível.
  • Use marcadores para listas, texto descritivo para links e imagens com menos de 1 MB para permitir que as páginas carreguem rapidamente.
  • Caso você tenha perguntas sobre formatação, uma maneira fácil de verificar novamente sua formatação é ver como a documentação anterior foi formatada.

Formatação Markdown ao lado do documento final visualizado

Fig 3. Um exemplo de formatação Markdown (à esquerda) e o documento visualizado final (à direita). Imagem do autor.

Depois de fazer seu rascunho, é importante visualizá-lo criando a documentação localmente. Você pode detectar quaisquer problemas antes de enviar. Para fazer isso, comece clonando o repositório e navegando para o diretório do projeto:

Em seguida, você pode instalar as dependências necessárias:

Finalmente, sirva a documentação localmente para revisar suas alterações:

Você pode visualizar a documentação criada localmente navegando para http://127.0.0.1:8000/ em seu navegador web.

Após revisar a clareza, a precisão e a consistência, você pode enviar um pull request com uma descrição clara do documento que você criou. Certifique-se de colocar o documento na seção apropriada com base em onde ele pertence e se encaixa melhor (guias, soluções, integrações, etc.). Por favor, dê uma olhada também no arquivo index.md para as seções relevantes e no arquivo mkdocs.yml geral, e faça as atualizações necessárias. A atenção aos detalhes ajudará o processo de revisão a ocorrer sem problemas e garantirá que sua contribuição seja bem integrada ao projeto.

Link to this sectionCoisas para ter em mente ao contribuir com código de código aberto#

Ao fazer contribuições de código para o projeto Ultralytics, é importante seguir as melhores práticas que ajudam a garantir que seu código seja limpo, sustentável e fácil de integrar. Aqui estão alguns pontos-chave para ter em mente:

  • Evite duplicação de código: Reutilize o código existente sempre que possível e minimize argumentos desnecessários.
  • Faça alterações menores e focadas: Foque em alterações menores e direcionadas, em vez de grandes modificações.
  • Simplifique ou remova código: Procure oportunidades para simplificar o código ou remover partes desnecessárias.
  • Escreva docstrings eficazes: Explique claramente o que seu código faz e vincule a recursos relevantes.
  • Evite dependências desnecessárias: Adicione dependências apenas se elas forem absolutamente necessárias.

Melhores práticas de documentação de código-fonte

Fig 4. Melhores Práticas de Documentação de Código-Fonte.

Também é essencial considerar a sustentabilidade a longo prazo da base de código. Antes de fazer qualquer alteração, pergunte a si mesmo se suas modificações podem quebrar o código existente de alguém que usa a Ultralytics. Se sim, considere como abordar isso e certifique-se de que suas alterações sejam o mais compatíveis possível.

Depois de desenvolver uma parte do código para contribuir, você precisará testá-la. Você pode usar frameworks como pytest para testar suas alterações antes de enviá-las. A formatação de código consistente é outro aspecto da sua contribuição que é muito importante. Ferramentas como o Ruff Formatter podem te ajudar a manter a consistência estilística e detectar quaisquer bugs lógicos ou inconsistências em seu código.

Link to this sectionRevisando pull requests#

Revisar pull requests (PRs) é uma ótima maneira de contribuir! Um PR é criado quando alguém solicita a mesclagem de suas alterações no projeto principal. Isso ajuda a manter o projeto Ultralytics funcionando sem problemas. Quando estiver revisando um PR, certifique-se de entender por que as alterações foram feitas. O autor deve explicar claramente o propósito e os benefícios da atualização, e você deve ver evidências de testes minuciosos em seu PR.

Diagrama explicando o que é um pull request

Fig 5. O que é um pull request?

Vamos percorrer algumas coisas principais nas quais focar.

  • Verifique se há testes unitários: Verifique se o PR inclui testes para novos recursos ou alterações para confirmar que o código funciona conforme o esperado e não introduz problemas.
  • Revise as atualizações da documentação: Verifique se a documentação está atualizada para refletir as alterações ou novos recursos, incluindo exemplos, referências de API e outros detalhes relevantes.
  • Avalie o impacto no desempenho: Considere como as alterações afetam o desempenho. Se necessário, solicite benchmarks de desempenho ou testes adicionais.
  • Verifique os testes de CI: Certifique-se de que todos os testes de Integração Contínua (CI) estejam passando, incluindo verificações de formatação de código e resultados de testes unitários.
  • Colabore em correções: Se algum teste falhar, trabalhe com o autor para resolver os problemas antes de aprovar o PR.

Como revisor, certifique-se de fornecer um feedback específico e claro sobre quaisquer problemas ou preocupações. Ofereça sugestões de melhoria e faça perguntas que ajudem o autor a pensar em possíveis problemas. Incentive-o a seguir as melhores práticas em programação, testes e documentação, e não hesite em indicar recursos que possam ajudar. Por último, mas não menos importante, sempre reconheça o esforço que o autor dedicou ao PR. Feedback positivo ajuda a manter uma atmosfera amigável e colaborativa na comunidade de código aberto.

Link to this sectionContribuir tem tudo a ver com comunidade#

Contribuir para projetos de código aberto como a Ultralytics pode te dar um senso inspirador de comunidade. Esteja você escrevendo código, revisando PRs, atualizando documentação ou participando de discussões, cada esforço ajuda o projeto a crescer e evoluir. Responder a problemas ou participar de conversas, seja no GitHub, Discord, Subreddit ou outros fóruns, é uma maneira valiosa de contribuir e se conectar com outros. Lembre-se, suas contribuições, não importa quão pequenas, causam um impacto significativo e ajudam a promover um ambiente colaborativo e de apoio para todos os envolvidos!

Na Ultralytics, somos apaixonados por impulsionar a inovação na comunidade de código aberto. Fique por dentro dos nossos desenvolvimentos mais recentes visitando nosso repositório no GitHub. Junte-se à nossa comunidade vibrante e veja como estamos causando impacto em setores como agricultura e manufatura.

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática