Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Ultralytics YOLO

Mẹo bắt đầu đóng góp cho các dự án mã nguồn mở của Ultralytics

Tìm hiểu cách đóng góp cho các dự án mã nguồn mở của Ultralytics và khám phá những mẹo hữu ích về tài liệu, đánh giá PR và sử dụng các công cụ thiết yếu.

Abirami VinaAbirami Vina12 phút đọc
Lý do nên đóng góp cho các dự án mã nguồn mở của Ultralytics

Nền tảng của phần mềm nguồn mở là sự cộng tác, học hỏi và chia sẻ. Các dự án nguồn mở là cách tuyệt vời để mọi người cùng hợp sức xây dựng những điều lớn lao hơn khả năng của mỗi cá nhân. Tại Ultralytics, chúng tôi luôn trân trọng các nguyên tắc của nguồn mở và khuyến khích bạn đóng góp cho các dự án nguồn mở của chúng tôi.

Nếu bạn hào hứng muốn đóng góp thông qua viết tài liệu, review code hoặc xử lý issue nhưng chưa biết bắt đầu từ đâu hay đang gặp khó khăn, chúng tôi sẵn sàng giúp bạn bắt đầu. Trong bài viết này, chúng tôi sẽ hướng dẫn một số mẹo để bạn bắt đầu đóng góp cho các dự án mã nguồn mở của Ultralytics.

Tầm quan trọng của các đóng góp từ cộng đồng Ultralytics#

Trước khi tìm hiểu cách đóng góp, hãy cùng trả lời câu hỏi vì sao đóng góp lại quan trọng đến vậy. Chúng tôi tin tưởng mạnh mẽ vào tầm quan trọng của những đóng góp từ cộng đồng Ultralytics. Khi tham gia các dự án mã nguồn mở, bạn không chỉ giúp chúng tôi xây dựng phần mềm tốt hơn. Người đóng góp đóng vai trò then chốt trong việc đảm bảo công nghệ của chúng tôi luôn mở, có tính cộng tác và không ngừng phát triển. Những đóng góp của bạn giúp các dự án phát triển mạnh mẽ, dễ tiếp cận và hữu ích cho người dùng cũng như nhà phát triển trên toàn thế giới!

Ngoài việc xây dựng phần mềm, đóng góp cho các dự án Ultralytics còn là cơ hội tuyệt vời để bạn phát triển bản thân. Bạn có thể trau dồi kỹ năng lập trình, giải quyết vấn đề và làm việc nhóm khi cộng tác với các nhà phát triển giàu kinh nghiệm, những người có thể hướng dẫn và chia sẻ các phương pháp hay nhất. Nỗ lực của bạn có thể tạo ảnh hưởng thực sự đến các công cụ được hàng nghìn người trên toàn cầu sử dụng. Tham gia cộng đồng cũng có thể giúp bạn mở rộng mạng lưới nghề nghiệp, tạo ra cơ hội mới và nâng cao portfolio để nổi bật hơn trong mắt nhà tuyển dụng.

Lý do đóng góp cho các dự án nguồn mở

Hình 1. Lý do nên đóng góp. Hình ảnh do tác giả cung cấp.

Cách bắt đầu đóng góp cho các dự án nguồn mở của Ultralytics#

Một điểm khởi đầu tuyệt vời là xem hướng dẫn đóng góp chính thức của Ultralytics. Hướng dẫn này tập hợp các phương pháp hay nhất và mẹo giúp bạn đóng góp hiệu quả. Bước đầu tiên là tìm hiểu những gì đã có trong dự án bằng cách nắm rõ hướng dẫn đóng góp, ký Thỏa thuận cấp phép cho người đóng góp (CLA) và tìm hiểu code.

Dù bạn muốn đóng góp vào quá trình phát triển hay chỉ muốn khám phá code mới nhất, bước tiếp theo là clone repository Ultralytics. Sau khi hoàn tất, bạn có thể chuyển đến thư mục dự án và cài đặt package ở chế độ editable, như minh họa trong đoạn code bên dưới.

git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .

Nếu cần trợ giúp, hướng dẫn bắt đầu nhanh của chúng tôi có đầy đủ thông tin cần thiết để bạn bắt đầu thuận lợi.

Các lĩnh vực có thể đóng góp#

Sau khi thiết lập môi trường và làm quen với dự án, bạn có thể khám phá những lĩnh vực khác nhau để tạo ra đóng góp có ý nghĩa. Ultralytics cung cấp nhiều cách để tham gia, và bạn có thể chọn cách đóng góp phù hợp với kỹ năng cũng như sở thích của mình.

Sau đây là một số lựa chọn:

  • Tài liệu: Đóng góp cho tài liệu là cách tuyệt vời để tìm hiểu sâu về dự án đồng thời trau dồi kỹ năng viết. Bạn có thể cải thiện tài liệu hiện có, bổ sung thông tin còn thiếu hoặc tạo hướng dẫn mới giúp người khác đóng góp dễ dàng hơn.
  • Sửa lỗi: Nếu có kinh nghiệm lập trình, bạn có thể cân nhắc tham gia sửa lỗi. Công việc có thể bao gồm từ những điều chỉnh nhỏ đến các vấn đề phức tạp hơn, giúp bạn tạo ra tác động thiết thực cho dự án.
  • Cải tiến tính năng: Với những ai sẵn sàng tìm hiểu sâu hơn, việc phát triển các cải tiến tính năng vừa là thử thách vừa mang lại nhiều thành quả. Công việc này có thể bao gồm bổ sung tính năng mới, cải thiện tính năng hiện có hoặc đóng góp vào lộ trình dự án.
  • Đánh giá pull request: Đánh giá pull request là một cách đóng góp giá trị khác, đặc biệt nếu bạn đã quen thuộc với các tiêu chuẩn và phương pháp hay nhất của dự án. Bằng cách đưa ra phản hồi và đề xuất cải tiến, bạn giúp duy trì chất lượng và tính toàn vẹn của codebase.
  • Thảo luận cộng đồng: Tham gia thảo luận cộng đồng là một cách tuyệt vời để đóng góp nếu bạn yêu thích hợp tác và chia sẻ ý tưởng. Hãy tham gia các cuộc trò chuyện đang diễn ra, đề xuất ý tưởng mới hoặc hỗ trợ người khác bằng cách chia sẻ góc nhìn và giải pháp của bạn.

Mỗi lĩnh vực này mang đến một cách đóng góp riêng, và bạn có thể chọn lĩnh vực phù hợp nhất với thế mạnh và sở thích của mình. Hãy nhớ rằng, mọi đóng góp, dù nhỏ đến đâu, đều đóng vai trò quan trọng trong việc giúp Ultralytics phát triển và hoàn thiện.

Mọi đóng góp đều được trân trọng trong cộng đồng ngày càng lớn mạnh của chúng tôi

Hình 2. Mọi đóng góp đều được trân trọng trong cộng đồng ngày càng lớn mạnh của chúng tôi. Nguồn ảnh: Envato Elements.

Đóng góp cho tài liệu mã nguồn mở của Ultralytics#

Khi đóng góp cho tài liệu Ultralytics, hãy xem lại tài liệu hiện có và kiểm tra các vấn đề hoặc cuộc thảo luận nêu bật những phần cần cải thiện. Việc này giúp đảm bảo đóng góp của bạn tập trung vào những nơi cần thiết nhất.

Khi viết hoặc chỉnh sửa, hãy lưu ý rằng việc tuân theo hướng dẫn của dự án là yếu tố then chốt để duy trì tính nhất quán. Dưới đây là một số mẹo định dạng:

  • Luôn sử dụng định dạng Markdown.
  • Bắt đầu mỗi tài liệu bằng phần giới thiệu rõ ràng và sử dụng ngôn ngữ đơn giản, dễ tiếp cận.
  • Dùng dấu đầu dòng cho danh sách, văn bản mô tả cho liên kết và hình ảnh có dung lượng dưới 1 MB để trang tải nhanh.
  • Nếu có thắc mắc về định dạng, cách dễ dàng để kiểm tra lại là xem các tài liệu trước đây đã được định dạng như thế nào.

Định dạng Markdown và tài liệu được hiển thị hoàn chỉnh

Hình 3. Ví dụ về định dạng Markdown (bên trái) và tài liệu được hiển thị hoàn chỉnh (bên phải). Ảnh của tác giả.

Sau khi hoàn thành bản nháp, bạn nên xem trước bằng cách build tài liệu trên máy cục bộ. Nhờ đó, bạn có thể phát hiện vấn đề trước khi gửi. Để thực hiện, trước tiên hãy clone repository và chuyển đến thư mục dự án:

git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics

Tiếp theo, bạn có thể cài đặt các dependency cần thiết:

pip install -e ".[dev]"

Cuối cùng, hãy build tài liệu và chạy cục bộ để review các thay đổi:

python docs/build_docs.py
python -m http.server --directory site

Bạn có thể xem tài liệu đã build cục bộ bằng cách truy cập http://127.0.0.1:8000/ trong trình duyệt web.

Sau khi xem lại độ rõ ràng, tính chính xác và nhất quán, bạn có thể gửi pull request kèm mô tả rõ ràng về tài liệu mình đã tạo. Hãy đặt tài liệu vào mục phù hợp nhất với nội dung và vị trí của tài liệu (hướng dẫn, giải pháp, tích hợp, v.v.). Ngoài ra, hãy xem file index.md để xác định các mục liên quan và file mkdocs.yml tổng thể, rồi cập nhật khi cần. Chú ý đến chi tiết sẽ giúp quá trình review diễn ra suôn sẻ và đảm bảo đóng góp của bạn được tích hợp tốt vào dự án.

Những điều cần lưu ý khi đóng góp code mã nguồn mở#

Khi đóng góp code cho dự án Ultralytics, điều quan trọng là tuân thủ các phương pháp hay nhất để đảm bảo code sạch, dễ bảo trì và dễ tích hợp. Sau đây là một số điểm chính cần lưu ý:

  • Tránh trùng lặp code: Tái sử dụng code hiện có bất cứ khi nào có thể và hạn chế các tham số không cần thiết.
  • Thực hiện các thay đổi nhỏ, tập trung: Ưu tiên các thay đổi nhỏ, có mục tiêu rõ ràng thay vì những sửa đổi lớn.
  • Đơn giản hóa hoặc loại bỏ code: Tìm cơ hội đơn giản hóa code hoặc loại bỏ những phần không cần thiết.
  • Viết docstring hiệu quả: Giải thích rõ code của bạn làm gì và liên kết đến các tài nguyên liên quan.
  • Tránh dependency không cần thiết: Chỉ thêm dependency khi thực sự cần thiết.

Các phương pháp hay nhất về tài liệu mã nguồn

Hình 4. Các phương pháp hay nhất về tài liệu mã nguồn.

Điều quan trọng nữa là phải cân nhắc khả năng bảo trì lâu dài của codebase. Trước khi thực hiện bất kỳ thay đổi nào, hãy tự hỏi liệu những sửa đổi đó có thể làm hỏng code hiện có của người dùng Ultralytics hay không. Nếu có, hãy cân nhắc cách khắc phục và đảm bảo các thay đổi tương thích hết mức có thể.

Sau khi phát triển xong đoạn code muốn đóng góp, bạn cần kiểm thử đoạn code đó. Bạn có thể dùng các framework như pytest để kiểm thử thay đổi trước khi gửi. Định dạng code nhất quán cũng là một khía cạnh rất quan trọng trong phần đóng góp của bạn. Các công cụ như Ruff có thể giúp duy trì phong cách code nhất quán và phát hiện các lỗi phổ biến hoặc điểm không nhất quán trong code.

Đánh giá pull request#

Đánh giá pull request (PR) là một cách đóng góp tuyệt vời! PR được tạo khi ai đó yêu cầu merge các thay đổi của họ vào dự án chính. Việc này giúp dự án Ultralytics vận hành suôn sẻ. Khi review PR, hãy đảm bảo bạn hiểu lý do thực hiện các thay đổi. Tác giả cần giải thích rõ mục đích và lợi ích của bản cập nhật, đồng thời PR cần có bằng chứng cho thấy quá trình kiểm thử đã được thực hiện kỹ lưỡng.

Sơ đồ giải thích pull request là gì

Hình 5. Pull request là gì?

Hãy cùng điểm qua một số nội dung chính cần tập trung.

  • Kiểm tra unit test: Kiểm tra xem PR có bao gồm các test cho tính năng mới hoặc thay đổi hay không để xác nhận code hoạt động như mong đợi và không phát sinh vấn đề.
  • Review các cập nhật tài liệu: Xác minh tài liệu đã được cập nhật để phản ánh các thay đổi hoặc tính năng mới, bao gồm ví dụ, tham chiếu API và các chi tiết liên quan khác.
  • Đánh giá tác động đến hiệu năng: Cân nhắc các thay đổi ảnh hưởng đến hiệu năng như thế nào. Nếu cần, hãy yêu cầu benchmark hiệu năng hoặc kiểm thử bổ sung.
  • Xác minh các bài test CI: Đảm bảo tất cả bài test Tích hợp liên tục (CI) đều đạt, bao gồm các bước kiểm tra định dạng code và kết quả unit test.
  • Phối hợp khắc phục lỗi: Nếu có bài test nào thất bại, hãy phối hợp với tác giả để giải quyết vấn đề trước khi phê duyệt PR.

Với tư cách reviewer, hãy đưa ra phản hồi cụ thể và rõ ràng về mọi vấn đề hoặc mối quan ngại. Đề xuất cách cải thiện và đặt câu hỏi giúp tác giả suy nghĩ thấu đáo về các vấn đề tiềm ẩn. Khuyến khích tác giả tuân thủ các phương pháp hay nhất về lập trình, kiểm thử và tài liệu; đồng thời đừng ngần ngại giới thiệu những tài nguyên hữu ích. Cuối cùng nhưng không kém phần quan trọng, hãy luôn ghi nhận nỗ lực mà tác giả đã bỏ ra cho PR. Phản hồi tích cực giúp duy trì bầu không khí thân thiện và hợp tác trong cộng đồng mã nguồn mở.

Đóng góp là vì cộng đồng#

Đóng góp cho các dự án mã nguồn mở như Ultralytics có thể mang lại cho bạn cảm giác gắn kết cộng đồng đầy cảm hứng. Dù viết code, review PR, cập nhật tài liệu hay tham gia thảo luận, mọi nỗ lực đều giúp dự án phát triển và tiến hóa. Trả lời issue hoặc tham gia trò chuyện trên GitHub, Discord, Reddit hoặc các diễn đàn khác là cách hữu ích để đóng góp và kết nối với mọi người. Hãy nhớ rằng, dù nhỏ đến đâu, đóng góp của bạn vẫn tạo ra ảnh hưởng đáng kể và góp phần xây dựng môi trường cộng tác, hỗ trợ lẫn nhau cho tất cả mọi người!

Tại Ultralytics, chúng tôi đam mê thúc đẩy đổi mới trong cộng đồng mã nguồn mở. Hãy cập nhật những phát triển mới nhất của chúng tôi bằng cách truy cập repository GitHub. Tham gia cộng đồng sôi nổi của chúng tôi và khám phá cách chúng tôi tạo ảnh hưởng trong các ngành như nông nghiệp và sản xuất.

Được viết bởi

Abirami Vina
Abirami Vina

Nhà sáng tạo nội dung · Ultralytics

Khởi đầu sự nghiệp với vai trò kỹ sư thị giác máy tính, Abirami Vina đã xây dựng nền tảng vững chắc về AI thị giác và machine learning. Cô là Nhà sáng tạo nội dung tại Ultralytics, đồng thời là Nhà sáng lập kiêm Biên tập viên chính tại Scribe of AI, nơi cô xây dựng nội dung kỹ thuật chất lượng cao cho các công ty tập trung vào AI. Với niềm đam mê giúp AI trở nên dễ hiểu và hấp dẫn, công việc của cô kết nối công nghệ tiên tiến với tác động thực tế.

Bình luận

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning