Series Nhận diện Idol: Phần 5 – Kiểm tra độ chính xác của thuật toán

Note – Fanpage và account Facebook mình đang bị 1 số thành phần phá hoại tìm cách report nên mình deactive tạm vài hôm thôi nhé. Mọi việc liên quan tới mua sách vẫn diễn ra bình thường, các bạn cứ liên hệ fanpage của nhà xuất bản hoặc gửi email cho mình tại huyhoang8a5@gmail.com nhé:

https://www.facebook.com/trithuctrebooks/?fref=ts

 

Ở bài trước, chúng ta đã submit dữ liệu để huấn luyện cho API. Bài này sẽ hướng dẫn các bạn cách sử dụng API này để viết một method nhận diện hoàn chỉnh.

Sử dụng API như thế nào?

Chúng ta sẽ viết một method như sau:

  • Đầu vào (Input): URL của một ảnh bất kì
  • Đầu ra (Output): Vị trí các khuôn mặt trong ảnh (để hiển thị) và tên của chủ nhân khuôn mặt

Trong phần 4 mình đã nói về cơ chế nhận diện khuôn mặt gồm 2 quá trình: Face Detection và Face Recognition. Hai quá trình này tương ứng với 2 API của Microsoft Cognitive API:

  • Detect: Phát hiện khuôn mặt trong ảnh và vị trí các khuôn mặt này.
  • Identity: Đầu vào là id của khuôn mặtid của Person Group. Đầu ra là id của Person giống nhất.

Bắt đầu viết code thôi nào, nếu các bạn đã download project của mình ở bài trước thì sẽ thấy code đã có sẵn trong file test.js. Tuy vậy, mình sẽ giải thích một số hàm để các bạn dễ hiểu.

Continue reading Series Nhận diện Idol: Phần 5 – Kiểm tra độ chính xác của thuật toán

Advertisements

Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Với một người có tâm hồn bay bổngđầu óc sáng tạo như tác giả blog Code dạo (là mình) thì cái thứ quái gì cũng có thể biến thành bài viết được.

Hôm nay khi mình đang ngồi đọc sách dưới tán cây thì bỗng… một quả sầu riêng nặng nửa kg rơi trúng đầu. Nhờ vậy mà mình mới nảy ra cảm hứng viết series này. Tên đầy đủ của series là Từ Chuyện Code Ngẫm Chuyện Đời, do hơi dài nên mình rút gọn lại thành Chuyện Code Chuyện Đời cho dễ đọc dễ nhớ!

Trong quá trình học và đi làm, đôi khi ta học được nhiều kĩ thuật lập trình, thuật toán và các nguyên lý rất hay ho. Khi quả sầu riêng rơi vào đầu, mình chợt ngộ ra rằng: những kĩ thuật cũng như nguyên lý này không chỉ áp dụng được trong code mà còn có thể áp dụng vào đời sống.

Series Chuyện Code Chuyện Đời ra đời từ đó. Bài viết đầu tiên trong series sẽ nói về chuyện optimize (tối ưu hoá) code và optimize cuộc sống.

Continue reading Series Chuyện Code Chuyện Đời – Từ tối ưu code cho đến optimize cuộc sống

Microservice có gì hot? Chuyện về cái bồn cầu và microservice

Thời gian gần đây, đi liền với sự nổi dậy của cloud computing, microservice cũng đang dần trở thành một từ khóa hot. Bài viết này sẽ giới thiệu tổng quan về microservice một cách đơn giản, dễ hiểu cho bà con gần xa.

Micro là rất nhỏ, service là dịch vụ, vậy microservice nghĩa là… dịch vụ vô cùng nhỏ. Nói đơn giản, microservice là một kiếu kiến trúc phần mềm. Các module trong phần mềm này được chia thành các service rất nhỏ (microservice).

Có vẻ phức tạp ha? Ủa mà vậy thì liên quan gì đến cái bồn cầu nhỉ?? Đọc hết bài rồi sẽ hiểu ngay thôi!

Continue reading Microservice có gì hot? Chuyện về cái bồn cầu và microservice

Đến cuối cùng, code rồi cũng trở về cát bụi

Vài hôm trước, mình nhận được email tâm sự chia sẻ của một bạn sinh viên vừa ra trường, tạm gọi là bạn M.

Nội dung email đại ý như sau:

Thuở học đại học, M rất thích code. Đến khi đi làm, M chịu khó tìm hiểu để code ngày càng giỏi hơn. M thích chăm chút cho code của mình cấu trúc sạch gọn, dễ hiểu, không có bug.

Tuy nhiên, có đôi lúc do khách hàng liên tục đổi yêu cầu, làm M phải sửa code hoăc bỏ code đi code lại, làm code ngày càng rối. Gần đây nhất, do nhiều vấn đề, dự án của team M bị hủy, công sức cả team coi như đổ sông đổ bể. Code của M và đồng bị vứt xó.

Cảm thấy hoang mang, M hỏi mình: code cho cẩn thận chăm chút vào rồi cuối cùng cũng thành đống rác hoặc vứt đi. Vậy code đàng hoàng để làm gì!!

Thật lòng mà nói, chính bản thân mình cũng từng có suy nghĩ như vậy khi mới đi làm. Vậy chúng ta cùng tìm hiểu xem, liệu có nên bỏ công sức ra mà code…. đàng hoàng hay không nhé?

Continue reading Đến cuối cùng, code rồi cũng trở về cát bụi

Series Nhận diện Idol: Phần 4.2 – Sử dụng Microsoft Face API để training hệ thống

Sau phần 4.2, hẳn các bạn cũng đã hiểu cơ chế hoạt động của một hệ thống nhận diện khuôn mặt. Trong phần này, chúng ta sẽ sử dụng dữ liêu khuôn mặt đã có của 12 VAV Idol để huấn luyện cho máy (Được ngắm gái xinh chắc nó mừng lắm). Bắt đầu nào!

screen-shot-2017-01-06-at-4-45-17-pm

Continue reading Series Nhận diện Idol: Phần 4.2 – Sử dụng Microsoft Face API để training hệ thống

Khai bút đầu xuân – Code Dạo năm 2017 có gì hot?

Tuần vừa rồi, blog tạm nghỉ vài ngày để các bạn có thời gian ăn Tết, sum vầy bên người thân. Mấy ngày Tết cũng đã qua rồi, sau khi ăn chơi phè phỡ thì chúng ta quay lại với công việc thường nhật nào. Cùng xem trong năm 2017 này, blog Tôi đi Code dạo có những gì hot nhé?

Continue reading Khai bút đầu xuân – Code Dạo năm 2017 có gì hot?

Series Nhận diện Idol: Phần 4.1 – Lý thuyết và cơ chế nhận diện khuôn mặt

Ở phần 3, chúng ta đã có cơ sở dữ liệu của các VAV Idol xinh đẹp. Ở phần này, ban đầu mình cũng định hướng dẫn các bạn sử dụng trực tiếp API của Microsoft luôn.

Tuy vậy, mình nhận được nhiều feedback dạng: Sau không hướng dẫn cách code từ đầu bằng thuật toán mà lại sử dụng API? Xài API có gì hay ho cao siêu đâu?

filtered

Ờ mà cũng đúng thật, dùng API có gì cao siêu đâu nhỉ? Bản thân mình cũng không muốn các bạn chỉ biết cắm đầu dùng API mà không rõ cơ chế hoạt động bên trong.

Nhận diện khuôn mặt là một trong những ứng dụng phổ biến của Machine Learning. Nguyên tắc hoạt động của chúng cũng khá thú vị nên biết thêm một chút cũng không hại gì. Thôi thì tiện tay mình thêm tí “Học thuật” vào bài viết cho nó phức tạp hơn vậy.

Các bạn chịu khó đọc kĩ nguyên lý trước khi nhảy vào code nhé.

Continue reading Series Nhận diện Idol: Phần 4.1 – Lý thuyết và cơ chế nhận diện khuôn mặt

Rảnh rỗi không biết code gì, sao không làm pet project?

Hôm trước, sau khi post bài viết “Lập trình viên lúc rãnh rỗi thì làm gì?”, mình nhận được một câu hỏi từ nhiều bạn: “Anh ơi, lúc rảnh em thích code cơ! Nhưng mà em không biết phải code gì?”.

Mình viết bài này để trả lời tường tận hơn câu hỏi của các bạn. Lời khuyên của mình là: Nếu không biết code gì, hãy tìm pet project và code. Pet project ở đây là một dự án ngắn ngắn, nho nhỏ do chúng ta tự nghĩ ra.

Vậy code pet project thì được gì? Làm sao nghĩ ra ý tưởng và giới thiệu pet project tới mọi người? Đọc bài viết để biết nhé!

Continue reading Rảnh rỗi không biết code gì, sao không làm pet project?

Series Nhận diện Idol: Phần 3 – Cùng đi đào dữ liệu VAV Idol

Sau bao ngày chờ đợi thì phần 3 của series cũng được ra mắt các bạn đọc. Lý do phần này bị mình “ngâm dấm” hơi lâu là do… JAV và 18+.

Do blog có nhiều trẻ em và cụ già đọc nên mình không thể thoải mái để link và hình ảnh 18+ trong bài viết được. Vì thế mình thay đổi hướng tiếp cận vấn đề. Thay vì nhận diện JAV Idol, chúng ta sẽ chuyển qua nhận diện… VAV Idol.

Sản phẩm cuối cùng của chúng ta sẽ có tương tự thế này, với kiến trúc đơn giản dễ hiểu hơn “Nhận diện Idol” nhiều: http://jav-idol.toidicodedao.com/vav/. Bắt đầu thôi nào!

Continue reading Series Nhận diện Idol: Phần 3 – Cùng đi đào dữ liệu VAV Idol

Lập trình viên lúc không code thì… làm gì?

Khá nhiều bạn lập trình viên mình quen có lối sống hơi “thiếu lành mạnh”. Thiếu lành mạnh ở đây không có nghĩa là ăn chơi sa đoạ cờ bạc rượu chè gái gú mà là … quá biệt lập.

Họ đi làm từ 8 giờ sáng đến 5,6 giờ chiều. Ăn uống tắm rửa xong lại bật máy lên đánh Lol, Dota hoặc code tới 12h đêm rồi ngủ. Cuối tuần, họ lại tiếp tục đánh Lol, Dota hoặc tải JAV, nhầm,… phim rạp về xem. Thứ hai tiếp tục đi làm, cuộc sống cứ thế nhàm chán trôi qua.

Code và máy tính là những người bạn thân thiết của lập trình viên. Tuy nhiên, đừng nên để cuộc sống của mình quanh đi quẩn lại chỉ có code và máy tính. Nhân hôm trước có bạn đã hỏi, hôm nay mình viết bài này để trả lời câu hỏi: Lập trình viên làm gì khi không code?

Continue reading Lập trình viên lúc không code thì… làm gì?

Lập trình viên giỏi không phải chỉ biết code