- 98
- 256 634
Manabi TV
Japan
Приєднався 3 бер 2020
Học lập trình, AI & Phát triển Phần mềm.
Mình là Trinh, Kỹ sư AI làm việc tại Nhật Bản, với kinh nghiệm thực tế trong việc ứng dụng AI vào tự động hóa kiểm soát chất lượng sản xuất.
Channel này sẽ cung cấp lộ trình học lập trình bài bản để trở thành Kỹ sư AI hoặc Data Scientist.
Kiến thức về xử lý ảnh, xử lý ngôn ngữ tự nhiên, computer vision,... bằng OpenCV, Numpy,...
Kỹ năng sử dụng các công cụ và hệ thống phổ biến như Docker, Unix commands, Bash shell, Git,...
Hay đăng ký kênh để được cập nhật kiến thức được chia sẻ từ chuyên gia AI với kinh nghiệm thực tế.
Cập nhật thường xuyên các chủ đề mới nhất về AI, lập trình và phát triển phần mềm.
Ngoài việc cung cấp ài giảng dễ hiểu, sinh động, phù hợp với mọi trình độ, bạn có thể tham gia cộng đồng học tập tích cực, hỗ trợ lẫn nhau.
Thông tin liên hệ: manabitvblog@gmail.com
Mình là Trinh, Kỹ sư AI làm việc tại Nhật Bản, với kinh nghiệm thực tế trong việc ứng dụng AI vào tự động hóa kiểm soát chất lượng sản xuất.
Channel này sẽ cung cấp lộ trình học lập trình bài bản để trở thành Kỹ sư AI hoặc Data Scientist.
Kiến thức về xử lý ảnh, xử lý ngôn ngữ tự nhiên, computer vision,... bằng OpenCV, Numpy,...
Kỹ năng sử dụng các công cụ và hệ thống phổ biến như Docker, Unix commands, Bash shell, Git,...
Hay đăng ký kênh để được cập nhật kiến thức được chia sẻ từ chuyên gia AI với kinh nghiệm thực tế.
Cập nhật thường xuyên các chủ đề mới nhất về AI, lập trình và phát triển phần mềm.
Ngoài việc cung cấp ài giảng dễ hiểu, sinh động, phù hợp với mọi trình độ, bạn có thể tham gia cộng đồng học tập tích cực, hỗ trợ lẫn nhau.
Thông tin liên hệ: manabitvblog@gmail.com
Setting neovim trong Docker container
➡️ Hướng dẫn cài: manabitv.gitlab.io/blogs/ubuntu/neovim.html#install-pluginstall
➡️ Github: github.com/huutrinh68/neovim
➡️ Github: github.com/huutrinh68/neovim
Переглядів: 645
Відео
Docker on Ubuntu
Переглядів 2,3 тис.3 роки тому
Cài đặt và dùng thử docker trên Ubuntu 👉 source code: github.com/huutrinh68/dl-pytorch/tree/master/0_docker
Đếm người qua lại dùng SSD Mobilenet v2 + CentroidTracker
Переглядів 7503 роки тому
Để thực hiện được MOT task (Multi Object Tracking) cần detector để nhận diện vật, và tracker để theo dấu vật. Trong video này mình sử dụng - SSD Mobilenet v2 để detect người - CentroidTracking để theo truy vết Có nhiều mô hình cho độ chính xác cao hơn, như có thể kết hợp Yolov5 và Deepsort chẳng hạn. Tuy nhiên các mô hình đó đều cần GPU mới có thể xử lý realtime. Sự kết hợp giữa ssd mobilnet và...
[Segmentation] Run Demo
Переглядів 1,7 тис.4 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Homepage manabitv.github.io ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Train model (P2)
Переглядів 8324 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Homepage manabitv.github.io ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Train model (P1)
Переглядів 8684 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Homepage manabitv.github.io ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Hoàn thành network PSPNet
Переглядів 7664 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Decode modue & AuxLoss module
Переглядів 4324 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Pyramid Pooling Module(P2)
Переглядів 5154 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Pyramid Pooling Module(P1)
Переглядів 7684 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Feature Module(P3)
Переглядів 4804 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Feature Module(P2)
Переглядів 5094 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation #LaptrinhAI ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[Segmentation] Feature Module(P1)
Переглядів 7974 роки тому
#Deeplearningcơbản #Trituenhantao #AI #Segmentation ➡️ Sourcecode github.com/huutrinh68/dl-pytorch ➡️ Join Slack channel join.slack.com/t/manabi-tv/shared_invite/zt-dys8x4h1-bDmMzVmutsFlrLbXo9lNrg ➡️ Manabi-tv group groups/226451295285520/ ➡️ Trang cá nhân profile.php?id=100000257334467
[UNIX] Biểu diễn số cho permission
Переглядів 2824 роки тому
Unix cũng là một hệ điều hành, được phát triển ban đầu là một opensource. Trong hệ sinh thái Unix gồm rất nhiều các phiên bản khác như BSD, Linux, sâu hơn nữa thì có Ubuntu, Red Hat... Unix thường được dùng là hệ điều hành cho Server nhờ tính uyển chuyển và ổn định của nó. Command trong Unix được viết theo chuẩn POSIX, nên học command của ubuntu thì về cơ bản sẽ dùng được trong centos, hay redh...
[Segmentation] Các module chính trong PSPNet
Переглядів 8744 роки тому
[Segmentation] Các module chính trong PSPNet
[Segmentation] Kiểm thử Dataset và Datatransform
Переглядів 5594 роки тому
[Segmentation] Kiểm thử Dataset và Datatransform
[Segmentation] Chuẩn bị Dataset (Phần 4)
Переглядів 7044 роки тому
[Segmentation] Chuẩn bị Dataset (Phần 4)
[Segmentation] Chuẩn bị Dataset (Phần 3)
Переглядів 9214 роки тому
[Segmentation] Chuẩn bị Dataset (Phần 3)
[Segmentation] Chuẩn bị Dataset (Phần 2)
Переглядів 9064 роки тому
[Segmentation] Chuẩn bị Dataset (Phần 2)
[Segmentation] Chuẩn bi Dataset (Phần 1)
Переглядів 1,4 тис.4 роки тому
[Segmentation] Chuẩn bi Dataset (Phần 1)
[Opencv] Test background subtraction + Music(teris 99)
Переглядів 9354 роки тому
[Opencv] Test background subtraction Music(teris 99)
[Segmentation] Giới thiệu chung về segmentation
Переглядів 5 тис.4 роки тому
[Segmentation] Giới thiệu chung về segmentation
.
Anh ơi em bị mắc lỗi như thé này thì là do lỗi gì ạ anh : ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (6,) + inhomogeneous part.
cho e hỏi dòng code (if __name__ == "__main__":) là cú pháp mà hàm main nào cũng phải có ạ? Hay nó sẽ thay đổi nếu tên file là tên khác ạ?
Cảm ơn anh
File "c:\Users\MSI PC\Visual Studio Code\2_object_detection\dataset.py", line 19, in __getitem__ img, gt, height, width = self.pull_item(index) ^^^^^^^^^^^^^^^^^^^^^ File "c:\Users\MSI PC\Visual Studio Code\2_object_detection\dataset.py", line 33, in pull_item img, boxes, labels = self.transform(img, self.phase, ann_info[:, :4], ann_info[:, 4]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\Users\MSI PC\Visual Studio Code\2_object_detection\transform.py", line 33, in __call__ return self.data_transform[phase](img, boxes, labels) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\Users\MSI PC\Visual Studio Code\2_object_detection\utils\augmentation.py", line 52, in __call__ img, boxes, labels = t(img, boxes, labels) ^^^^^^^^^^^^^^^^^^^^^ File "c:\Users\MSI PC\Visual Studio Code\2_object_detection\utils\augmentation.py", line 238, in __call__ mode = random.choice(self.sample_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "numpy\ andom\\mtrand.pyx", line 937, in numpy.random.mtrand.RandomState.choice ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (6,) + inhomogeneous part. em tải file về train và bị lỗi như v, sửa sao ạ
Cho e xin link github không anh
"hàm" thôi chứ không phải "hàm số" đâu ạ
có bạn nào đưa code len Colab để chạy được chưa các bạn?
Series tuỵêt vời lắm ạa, rấc cám ơn anh. Hy vọng anh sẽ ra thêm nhiều series nữa :"))
anh ơi em chưa rõ nếu không phải ong và kiến chỉ có 4 vị trí, ví dụ ong và bướm thì câu lệnh chỗ[30:34 ] sẽ viết như thế nào
I have random input images sizes? will it work with SSD ? I am using supergradients SSD Lite Mobilenet v2.
nay em ngồi viết báo cáo SSD xem lại video của anh của anh lại thấy nhớ lại hồi dịch 2 năm trước. Hồi đấy ở nhà bắt đầu mày mò học DL. E cày hết tất cả video trên kênh của anh từ mấy bài giảng pytorch đầu tiên cho đến hết bài segmentation. Hí nhanh thật đấy h e cũng đã chính thức làm việc trong mảng này rồi. Thanks anh rất nhiều vì hồi đấy mày mò mãi mới có được kênh tiếng Việt giảng chi tiết và tâm huyết như anh.
người không có nền tảnh gì thì có học dc không ad
Cho em hỏi chút là trong phần datatransform, làm sao để quyết định nên thực hiện loại transform nào ạ?
ổn quá anh coi hiểu nhiều
Dòng img_transformed = transform(img) bị lỗi thì phải xử lý sao ạ ??
Đổi tên dòng trước nó từ transform thành transformer để tránh xung đột bạn ơi: transformer = BaseTransform(resize, mean, std) # Change the instance name
cảm ơn bạn nhiều @@anbuingoc4495
dạ color_mean mà tập dữ liệu đưa ra là dành cho ảnh gốc. Nhưng trong quá trình transform, ta lại gọi các biến đổi khác trước rồi mới gọi hàm SubstractMeans(color_mean) thì lúc này color_mean nó đã khác so với ban đầu nhưng ta vẫn sử dụng color_mean của tập ảnh ban đầu thì có ảnh hưởng gì không ạ?
ADMIN lam ve chu de su dung python trong graphic design di a
Em thấy hàm jaccard nó không khác gì IOU cả, 2 cái đó có phải là 1 không ạ?
Theo tui nghĩ, thì 2 con này cách tính là giống nhau nhưng mục đích sử dụng lại khác nhau. IoU dùng để xem overlap giữa các default_box với nhau để loại bỏ các bbox bị trùng, còn jaccard thì xem overlap giữa các default_box và ground_truth để gán nhãn cho default_box.
Hàm này anh viết bị warming nhiều quá vì cập nhập phiên bản nên em đã viết lại nó: def non_max_suppression(boxes, scores, overlap_threshold=0.45): # Tạo một tensor từ danh sách bounding box và scores boxes_tensor = torch.Tensor(boxes) scores_tensor = torch.Tensor(scores) # Tính toán diện tích của bounding box areas = torch.mul(boxes_tensor[:, 2] - boxes_tensor[:, 0], boxes_tensor[:, 3] - boxes_tensor[:, 1]) # Sắp xếp các bounding box theo độ tin cậy giảm dần sorted_indices = torch.argsort(scores_tensor, descending=True)[:200] selected_indices = [] while len(sorted_indices) > 0: # Lấy bounding box có độ tin cậy cao nhất best_idx = sorted_indices[0].item() selected_indices.append(best_idx) sorted_indices = sorted_indices[1:] # Tính toán các tọa độ góc của bounding box đã chọn x1 = torch.max(boxes_tensor[best_idx, 0], boxes_tensor[sorted_indices[:], 0]) y1 = torch.max(boxes_tensor[best_idx, 1], boxes_tensor[sorted_indices[:], 1]) x2 = torch.min(boxes_tensor[best_idx, 2], boxes_tensor[sorted_indices[:], 2]) y2 = torch.min(boxes_tensor[best_idx, 3], boxes_tensor[sorted_indices[:], 3]) # Tính toán chiều rộng và chiều cao của bounding box đã chọn width = torch.clamp(x2 - x1 + 1, min=0) height = torch.clamp(y2 - y1 + 1, min=0) # Tính toán diện tích giao nhau của bounding box đã chọn với các bounding box còn lại intersection_area = width * height # Tính toán tỷ lệ overlap overlap = intersection_area / (areas[best_idx] + areas[sorted_indices[:]] - intersection_area) # Giữ lại id của box có overlap ít với bbox đang xét sorted_indices = sorted_indices[overlap.le(overlap_threshold)] return selected_indices
Đoạn này em thấy khó thực sự, tại ko hình dung được đầu vào và đầu ra nó có định dạng như nào nên rất là khó tưởng tượng!
Cám ơn anh nhé :3
Thực sự rất cảm ơn công sức anh dành ra làm nội dung này!
Anh ơi tiếng bàn phím hơi to ý, video sau a cho phím xa mic một xíu xem sẽ không bị khó chịu ý em đeo tai nghe hơi ù tai ạ. Cảm ơn anh video hữu ích và rất thích cách anh nói ạ ^^
các video của anh rất chi tiết và rất hay ạ ^^ như phần giới thiệu kênh của anh thì anh đang làm AI cho công ty viễn thông đúng ko ạ? Anh cho em hỏi các hướng ứng dụng của AI trong viễn thông như thế nào ạ, em cũng học ngành viễn thông và em đang học thêm AI để tăng thêm cơ hội việc làm, nhưng em mới đang thấy AI trong xử lý ảnh, xử lý ngôn ngữ và chưa hình dung được sẽ áp dụng trong hướng viễn thông như thế nào ạ ^^ em cám ơn anh ^^
tại sao không train ở epoch 0 vậy anh?
cảm ơn anh ạ
anh cho em hỏi là làm sao để minh xoá 1 số lớp và thêm 1 số lớp mới vậy ạ?
anh code nhầm một chỗ thôi cũng khiến nó khó hiểu lắm ạ, hic😢
đoạn 25:16 "where f_k is k-th square feature map", vậy sao anh không gán trực tiếp bằng f luôn mà tính công thức đấy ạ, em vẫn chưa hiểu đoạn này
tại sao khi em chạy đoạn code thì ở dòng "img_transformed = transform(img)" lại báo lỗi 'BaseTransform' object is not callable' ạ
bạn canh khoảng cách giữa cái def __init__ với __call__ nha, mình bị ko cùng hàng nên mới lỗi
@@leminhhoang8090 cái đó là vấn đề về tab trong ngôn ngữ python, bạn tab vào thì nó hiểu hàm call lồng trong hàm init thôi. Vấn đề cốt lõi không phải chỗ đó rồi, mình để ngang hàng nhau vẫn bị lỗi.
Cảm ơn anh nhiều, giờ em đã hiểu hơn nhiều rồi ạ <3.
làm thế nào để rút gọn xâu ạ?
làm thế nào để rút gọn xâu ạ?
Cho em hỏi về xử lý xác minh người nói thì áp dụng pytoch này như nào ạ? E cảm ơn ạ
anh ơi anh có videos nào mà setup visual theo kiểu anh đang dùng không ạ? em rất muốn tham khảo ạ
type của class là <class ...>. Em không biết là có cách nào để thay đổi type của class ko ạ. Em cảm ơn nhiều
Cảm ơn anh share kiến thức ạ! Đoạn flatten em dùng net.add_module("flatten", nn.Flatten()) so với class anh tạo bên trên thì kết quả y hệt nhau torch.Size([1, 576]), nên chắc bạn nào không hiểu đoạn class anh tạo thì cứ dùng hàm có sẵn cho nhanh. Mà thật ra chỗ đoạn này có cách tính nhẩm flatten = 16*3*3*2 = 576(mình nhớ không nhầm thì trong cuốn deeplearnig cơ bản của anh Tuấn có đoạn hướng dẫn tính), nên lúc code dễ kiểm soát mô hình hơn.
Image Classification có mấy module vậy ạ ?
bạn ơi bạn có nhu cầu bán kênh không ạ, bên mình đang cần mua kênh
a có thể làm video train model của mình tự tạo k a?
Very informative, thank you!
ghi file dạng int thì ghi như nào anh,sài write thì nó chỉ cho str chứ ko có int
Mong a quay tro lai va ra them nhieu video nua ah. cam on anh
ở phần extras không sử dụng reLU à anh
Cho e hỏi muốn tạo đồng thời 2 method init, trong đó 1 method là có tham số, 1 method không có tham số thì làm thế nào ạ, em biết là nếu đặt tên 2 method trùng nhau thì chương trình sẽ lấy method mới nhất nên không thể nhập 2 method(init) cùng tên giống như C++ được.
anh ơi, khi e chạy đoạn code cuối cùng trên google colab nó ntn "[Errno 2] No such file or directory: './data/VOCdevkit/VOC2012/Annotation/2008_000003.xml'" a giúp e với ạ.
cho em hỏi là tùy từng đặc tính của mỗi dataset khác nhau thì mình sẽ thay đổi các param sao cho phù hợp với data của mình ạ và thêm một câu hỏi nữa là thay đổi như thế nào ạ
sau khi học xong series này, em thấy hiểu rõ hơn về deep rất nhiều. cảm ơn anh
một series video kiến thức tuyệt vời, cảm ơn anh rất nhiều