Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
9c0e5ff
update new info
Mikyx-1 Feb 14, 2024
dc22ca5
update about me
Mikyx-1 Feb 15, 2024
c5a35c8
add crawl youtube tutorial
Mikyx-1 Feb 23, 2024
88cda9e
add crawl youtube tutorial
Mikyx-1 Feb 23, 2024
4d6925d
NMS-1st version
Mikyx-1 Mar 23, 2024
c5105b9
VGG version 1
Mikyx-1 Mar 30, 2024
e36a971
vgg version 2
Mikyx-1 Mar 30, 2024
8ffeca4
vgg ver 3
Mikyx-1 Mar 30, 2024
273878f
VGG ver 4
Mikyx-1 Mar 30, 2024
96ae8ea
vgg ver 5
Mikyx-1 Mar 30, 2024
0c08aee
vgg ver 6
Mikyx-1 Mar 30, 2024
cb36b2e
vgg ver x
Mikyx-1 Mar 30, 2024
7fc3fdb
vgg ver x
Mikyx-1 Mar 30, 2024
81bdccd
ParamCounting v1
Mikyx-1 Apr 5, 2024
9bda52a
CountParam v2
Mikyx-1 Apr 5, 2024
050aef7
CountParam v4
Mikyx-1 Apr 6, 2024
6e64306
image_filters v1
Mikyx-1 Apr 8, 2024
aec4617
image_filters_p2 v1
Mikyx-1 Apr 27, 2024
f68b96d
canny_edge v1
Mikyx-1 Apr 28, 2024
64cee63
fourier_transform v1
Mikyx-1 May 7, 2024
fa2a75a
fourier_transform v2
Mikyx-1 May 8, 2024
eec2f30
fourier_transform v3
Mikyx-1 May 9, 2024
006b981
add: vision transformer v1
Mikyx-1 May 23, 2024
0093c38
add: data_compression v1
Mikyx-1 May 25, 2024
82f8299
add: data_compression v2
Mikyx-1 May 26, 2024
deb289d
add: GAN v1
Mikyx-1 Jun 8, 2024
05a1cdd
Add one half of transformers
Mikyx-1 Jun 15, 2024
91242ce
Fix vision transformer blog
Mikyx-1 Aug 11, 2024
a4cfbb1
Delete the unecessary files and add 1/2 transformer blog
Mikyx-1 Aug 11, 2024
e06c308
Add transformer encoder training
Mikyx-1 Aug 12, 2024
9e29091
Add transformer training and change step order
Mikyx-1 Aug 12, 2024
cf70a44
VAE ver1
Mikyx-1 Aug 17, 2024
7e8a972
VAE ver 2
Mikyx-1 Aug 18, 2024
96bbbed
VAE: adjust some mathematical notations
Mikyx-1 Aug 18, 2024
3d8823f
VAE: adjust mathematical notations for q_theta and p in line 60
Mikyx-1 Aug 18, 2024
2b5ed08
VAE: Add D_KL analytical explanation
Mikyx-1 Aug 18, 2024
0f8dc38
VAE: fix some spelling errors
Mikyx-1 Aug 18, 2024
6ccf745
svm v1
Mikyx-1 Sep 25, 2024
02c192a
svm v2
Mikyx-1 Sep 25, 2024
02cd1cf
svm v3
Mikyx-1 Sep 25, 2024
6940338
remove the unfinished
Mikyx-1 Sep 25, 2024
2c516db
WGAN v1
Mikyx-1 Sep 26, 2024
097b5c9
WGAN v1
Mikyx-1 Sep 28, 2024
703cd16
WGAN v2
Mikyx-1 Sep 28, 2024
86c4998
WGAN v3
Mikyx-1 Sep 28, 2024
df5345c
WGAN v3.1
Mikyx-1 Sep 28, 2024
b1393fb
WGAN v3.2
Mikyx-1 Sep 28, 2024
7d39e07
WGAN v3.3
Mikyx-1 Sep 28, 2024
9d3a6d6
WGAN v3.4
Mikyx-1 Sep 28, 2024
fa98866
WGAN v3.5
Mikyx-1 Sep 28, 2024
86ce262
WGAN v3.6
Mikyx-1 Sep 28, 2024
f78addf
WGAN v3.7
Mikyx-1 Sep 28, 2024
e80b56c
WGAN v3.8
Mikyx-1 Sep 28, 2024
9e94c54
SD v1.0
Mikyx-1 Sep 30, 2024
46f7550
SD v1.0
Mikyx-1 Sep 30, 2024
33304cf
Stable diffusion v1.0
Mikyx-1 Sep 30, 2024
e726928
Stable diffusion v1.1
Mikyx-1 Sep 30, 2024
07a6792
Stable diffusion v1.2
Mikyx-1 Sep 30, 2024
8291143
remove stable diffusion
Mikyx-1 Sep 30, 2024
24f7d53
SD 1.0 draft test
Mikyx-1 Sep 30, 2024
6fe115c
SD 1.1 draft test
Mikyx-1 Sep 30, 2024
8b34005
SD 1.2 draft test
Mikyx-1 Sep 30, 2024
b85778b
SD 1.3 draft test
Mikyx-1 Sep 30, 2024
5b64f8a
SD 1.4 draft test
Mikyx-1 Sep 30, 2024
30379aa
SD 1.5 draft test
Mikyx-1 Sep 30, 2024
4b49612
SD 1.6 draft test
Mikyx-1 Sep 30, 2024
b153d0f
SD 1.7 draft test
Mikyx-1 Sep 30, 2024
f224d7e
SD 1.8 draft test
Mikyx-1 Sep 30, 2024
388f8a7
SD 1.9 draft test
Mikyx-1 Sep 30, 2024
bafcc1b
SD 1.10 draft test
Mikyx-1 Sep 30, 2024
7ad17e8
SD 1.11 draft test
Mikyx-1 Sep 30, 2024
6f21f6f
SD 1.12 draft test
Mikyx-1 Sep 30, 2024
90073fe
SD 1.13 draft test
Mikyx-1 Sep 30, 2024
fdcb092
SD 1.14 draft test
Mikyx-1 Sep 30, 2024
469fbfe
SD 1.15 draft test
Mikyx-1 Sep 30, 2024
c4a6771
SD 1.16 draft test
Mikyx-1 Sep 30, 2024
6a13384
SD 1.17 draft test
Mikyx-1 Sep 30, 2024
7125603
SD 1.18 draft test
Mikyx-1 Sep 30, 2024
ac3daf0
SD 1.19 draft test
Mikyx-1 Sep 30, 2024
b4e2186
SD 1.20 draft test
Mikyx-1 Sep 30, 2024
8e3b131
SD 1.21 draft test
Mikyx-1 Sep 30, 2024
2359845
SD 1.22 draft test
Mikyx-1 Sep 30, 2024
d483520
SD 1.23 draft test
Mikyx-1 Sep 30, 2024
99825d3
SD 1.24 draft test
Mikyx-1 Sep 30, 2024
4ccc7f2
SD 1.25 draft test
Mikyx-1 Sep 30, 2024
9b1b3ac
SD 1.26 draft test
Mikyx-1 Sep 30, 2024
63e5f01
SD 1.27
Mikyx-1 Oct 1, 2024
c209b73
SD 1.28
Mikyx-1 Oct 2, 2024
38e98d6
SD 1.29
Mikyx-1 Oct 2, 2024
bdaf1e8
SD 1.30
Mikyx-1 Oct 2, 2024
326e3c8
SD 1.31
Mikyx-1 Oct 2, 2024
9032b89
SD 1.32
Mikyx-1 Oct 2, 2024
56c49db
SD 1.33
Mikyx-1 Oct 2, 2024
2450594
Add thumbnail for ViT
Mikyx-1 Oct 2, 2024
2824a93
RL_p1: v0.1
Mikyx-1 Oct 5, 2024
a4070ae
RL_p1: v0.2
Mikyx-1 Oct 5, 2024
2e3c258
RL_p1: v0.3
Mikyx-1 Oct 5, 2024
912ed49
RL_p1: v0.4
Mikyx-1 Oct 5, 2024
ae7a1c9
RL_p1: v0.5
Mikyx-1 Oct 5, 2024
9e02449
RL_p1: v0.6
Mikyx-1 Oct 5, 2024
0941f09
RL_p1: v0.7
Mikyx-1 Oct 5, 2024
b671e55
naive_bayes v0.0
Mikyx-1 Oct 6, 2024
8a4893d
naive_bayes v0.1
Mikyx-1 Oct 6, 2024
3c2ee2c
naive_bayes v0.2
Mikyx-1 Oct 6, 2024
7772295
naive_bayes v0.3
Mikyx-1 Oct 6, 2024
34267c2
naive_bayes v0.4
Mikyx-1 Oct 6, 2024
433f9d8
naive_bayes v0.5
Mikyx-1 Oct 6, 2024
323d8fd
naive_bayes v0.6
Mikyx-1 Oct 6, 2024
4f0f509
naive_bayes v0.7
Mikyx-1 Oct 6, 2024
7d05754
naive_bayes v0.8
Mikyx-1 Oct 6, 2024
33a1a10
naive_bayes v0.9
Mikyx-1 Oct 6, 2024
1f6e468
naive_bayes v0.10
Mikyx-1 Oct 6, 2024
5fac549
naive_bayes v0.11
Mikyx-1 Oct 6, 2024
a07f95a
naive_bayes v0.12
Mikyx-1 Oct 6, 2024
b978793
naive_bayes v0.13
Mikyx-1 Oct 6, 2024
44be54f
naive_bayes v0.14
Mikyx-1 Oct 6, 2024
8b697c4
naive_bayes v0.15
Mikyx-1 Oct 6, 2024
02a55c7
naive_bayes v0.16
Mikyx-1 Oct 6, 2024
2d23ae6
energy-based models v1.0.0
Mikyx-1 Nov 8, 2024
201b144
energy-based models v1.1.0
Mikyx-1 Nov 9, 2024
1ac7dbe
energy-based models v1.2.0
Mikyx-1 Nov 9, 2024
a19b9be
energy-based models v1.3.0
Mikyx-1 Nov 9, 2024
f52ad38
energy-based models v1.4.0
Mikyx-1 Nov 10, 2024
b94a14b
energy-based models v1.5.0
Mikyx-1 Nov 11, 2024
f12912f
energy-based models v1.6.0
Mikyx-1 Nov 12, 2024
bb7520e
energy-based models v1.7.0
Mikyx-1 Nov 12, 2024
5201fb3
energy-based models v1.8.0
Mikyx-1 Nov 12, 2024
d28b7ca
energy-based models v1.9.0
Mikyx-1 Nov 12, 2024
df73619
EM v1.0.0
Mikyx-1 Nov 28, 2024
1e7036d
EM v1.1.0
Mikyx-1 Nov 29, 2024
19638ed
EM v1.2.0
Mikyx-1 Nov 30, 2024
a924dca
EM v1.3.0
Mikyx-1 Nov 30, 2024
1d30302
LoRA: v1.0.0
Mikyx-1 Nov 30, 2024
fb45553
guided filter v1.1.0
Mikyx-1 Dec 11, 2024
ab13fdb
guided filter v1.2.0
Mikyx-1 Dec 12, 2024
b18b9f1
guided filter v1.3.0
Mikyx-1 Dec 12, 2024
c7cf2ff
guided filter v1.4.0
Mikyx-1 Dec 12, 2024
96d759c
guided filter v1.5.0
Mikyx-1 Dec 12, 2024
585b02c
add implementation code (#1)
Mikyx-1 Dec 23, 2024
7ef5678
add implementation code v1.1.0 (#1)
Mikyx-1 Dec 23, 2024
b4ca47e
add implementation code v1.2.0 (#1)
Mikyx-1 Dec 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
title: "Blog Title"
author: "Blog Author"
description: "Made with <b style=\"color: #f45;\">&lt;3</b>"
title: "Artificial Intelligence Blog"
author: "Viet Le Hoang"
description: "Ho Chi Minh University of Technology"
permalink: /:title/
lang: "en"
excerpt_separator: "\n\n\n"
Expand All @@ -16,13 +16,13 @@ minimal: false # use a dark header
# Menu

navigation: # accepts {file, title, url, icon, sidebaricon}
- {file: "index.html"}
- {file: "README.md"}
- {file: "index.html", title: "Homepage"}
- {file: "about_me.md", title: "About"}

external: # shows a footer with social links - for available icons see fontawesome.com/icons
- {title: Mail, icon: envelope, url: "mailto:[email protected].com"}
- {title: Github, icon: github, url: "https://github.com/niklasbuschmann/contrast"}
- {title: Subscribe, icon: rss, url: "/feed.xml"}
- {title: Mail, icon: envelope, url: "lehoangviet2k@gmail.com"}
- {title: Github, icon: github, url: "https://github.com/Mikyx-1"}
# - {title: Subscribe, icon: rss, url: "/feed.xml"}

comments:
# disqus_shortname: "" # see https://disqus.com/
Expand Down
22 changes: 22 additions & 0 deletions _posts/2017-01-01-HOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: "Giải thích và code thuật toán HOG (Histogram of oriented gradient)"
mathjax: true
layout: post
categories: media
---

Xin chào các bạn,
Trong bài post này, mình sẽ giới thiệu một phương pháp "cổ điển" để extract features của một bức ảnh. Ở thời đại Deep Learning phát triển vượt bậc như hiện nay, các mạng CNN thường được dùng để trích xuất các đặc trưng của bức ảnh. Tuy nhiên, trước khi Yan LeCun đề xuất kiến trúc CNN thì cũng đã có nhiều nghiên cứu về phương pháp để trích xuất features của một bức ảnh và một trong những phương pháp phổ biến nhất đó là Histogram of Oriented Gradients (HOG). Chúng ta hãy cùng tìm hiểu xem HOG là gì và hoạt động như thế nào nhé.

![Image](https://archive.ph/X93ra/a24f8024dd092236524506b3c9e19cd518045fc6.webp)

### 1. Giới thiệu về HOG
HOG là một giải thuật trích xuất những điểm đặc trưng trong một bức ảnh và những đặc trưng này có thể được dùng để đưa vào các mô hình phân loại như SVM, Decision Tree, ... cho các task classification, detection, hay thậm chí segmentation.

Điểm chính trong nguyên lý hoạt động c ủa HOG là mô tả hình dạng của một vật thể cục bộ thông qua hai ma trận: **magnitude gradient** và **orientation gradient*. Để tạo ra hai ma trận này, ảnh được chia thành một lưới ô vuông, trên mỗi ô vuông, ta tính toán biểu đồ histogram thống kê độ lớn gradient. Mỗi ô vuông thường có kích thước 8x8 pixels và bao gồm nhiều ô cục bộ. HOG descriptor được tạo thành bằng cách nối liền 4 vector histogram từ mỗi ô cục bộ. HOG descriptor được tạo thành bằng cách nối liền 4 vector histogram từ mỗi ô cục bộ thành một vector tổng hợp. Để cải thiện độ chính xác, mỗi giá trị của vector histogram trên mỗi vùng cục bộ được chuẩn hóa theo Norm 2 hoặc Norm 1. Ưu điểm của HOG là nó bao gồm tính bất biến đối với biến đổi hình học và thay đổi độ sáng, cũng như khả năng loại bỏ chuyển động cơ thể trong phát hiện con người nếu họ duy trì tư thế đứng thẳng.

### 2. Cách hoạt động của HOG
Ở mục 1, mình đã giới thiệu tổng quan về HOG. Giờ thì hãy cùng đào sâu xem nó được hoạt động như thế nào nhé.



63 changes: 0 additions & 63 deletions _posts/2017-01-01-advanced-examples.md

This file was deleted.

16 changes: 16 additions & 0 deletions _posts/2017-01-01-taylor_series.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: "Giải thích và code from scratch chuỗi Taylor (Taylor Series)"
mathjax: true
layout: post
categories: media
---



### References

1. [Derivation of the Taylor Series Part 1](https://www.youtube.com/watch?v=2-X7lqZvjy8)

2. [Derivation of Taylor Series Expansion](https://hep.physics.illinois.edu/home/serrede/P435/Lecture_Notes/Derivation_of_Taylor_Series_Expansion.pdf)

3. [Taylor Series](https://byjus.com/maths/taylor-series/)
17 changes: 17 additions & 0 deletions _posts/2017-02-01-TF-IDF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: "Giải thích và code Term Frequency - Inverse Document Frequency"
layout: post
---

Xin chào các bạn,

Trong bài post này, mình sẽ giới thiệu một phương pháp để xác định độ quan trọng của từng từ trong một câu.

![Image](https://www.kdnuggets.com/wp-content/uploads/arya-tf-idf-defined-0-1024x573.png)

Vậy mức độ quan trọng của một từ là gì? Mức độ quan trọng ở đây là một con số cụ thể nào đó và nếu nó lớn thì tức là tư đó quan trọng và ngược lại. Giả sử, bài phát biểu nhậm chức của tổng thống Mỹ như sau: "_Tôi sẽ tập trung vào y tế_", thì trong câu sau từ "_y tế_" nên có mức độ quan trọng lớn hơn các từ như "_Tôi_", "_sẽ_", "_tập_", "_trung_", "_vào_".

### 1. Giới thiệu TF-IDF
Như tiêu đề thì TF-IDF là từ viết tắt của cụm Term Frequency - Inverse Document Frequency. Giả thuật này được hai nhà khpa học máy tính Hans Peter Luhn và Karen Spärck Jones tìm ra. Cụ thể hơn, Hans là người phát triển phần term frequency và Karen là người thêm phần Inverse Document Frequency vào giải thuật.

![Image](https://spectrum.ieee.org/media-library/photo-ibm.jpg?id=25584953&width=1200&height=900)
85 changes: 0 additions & 85 deletions _posts/2017-02-01-markdown-examples.md

This file was deleted.

25 changes: 0 additions & 25 deletions _posts/2017-03-01-welcome-to-jekyll.md

This file was deleted.

64 changes: 64 additions & 0 deletions _posts/2024-02-23-crawl_youtube_videos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: "Hướng dẫn crawl Youtube Videos tự động với Python"
layout: post
---


Xin chào các bạn!

Trong bài post lần này mình sẽ giới thiệu một phương pháp để có thể tự động tải các videos/shorts/livestream từ Youtube về để có thêm nguồn data cho mô hình AI/ML.

Trong lĩnh vực AI/ML, data chiếm 80% công việc của các kĩ sư nên việc biết tận dụng các nền tảng trực tuyến để có thể kiếm thêm nhiều data sẽ rất có ích cho việc xây dựng một mô hình tốt. Có thể kể đến một vài nền tảng nổi tiếng để chúng ta scrape dữ liệu như Instagram, Tiktok, Reddit, Twitter (X), ...

Chúng ta bắt tay vào thực hành luôn nhé!

**Bước 1**: Install thư viện scrapetube, youtube-dl với pip

Cho bạn nào chưa biết, pip là một package manager của Python, nó giúp cho việc cài cắm đơn giản hơn rất nhiều so với việc ta tự download và install thủ công.

Package đầu tiên chúng ta sẽ cài là scrapetube, thư viện này sẽ giúp chúng ta **trích xuất urls** của các videos/shorts một cách tự động mà không cần phải mở một trình duyệt phụ như thư viện Selenium. Vì vậy, việc dùng thư viện này sẽ tiết kiệm khá nhiều thời gian và băng thông mạng của các bạn 😄. Package thứ hai và cũng là package cuối cùng là youtube_dl, thư viện này sẽ giúp chúng ta **tải về các Youtube urls** đã được trích xuất dùng.


Ta dùng đoạn lệnh sau để có thể cài 2 thư viện này nhé

```
pip install scrapetube youtube_dl
```
**Bước 2**: Code Python thôii

```python
# Step 1: Import những thư viện cần thiết
import scrapetube
import requests
import subprocess
import argparse
import pandas as pd

def download_video(url):
# Đoạn này để setup chất lượng video bạn muốn tải, bạn có thể tham khảo kĩ hơn tại đường link mình để bên dưới nha.
subprocess.call(["yt-dlp", "-f", "bestvideo[height<=1080][ext=mp4]", url])

channel_username = "schannelvn" # Ví dụ về kênh youtube, các bạn có thể lấy kênh nào tùy thích nhé

# Có 3 options: videos, shorts, streams. Tùy các bạn muốn crawl dạng nào và bỏ vào content type nha, mặc định sẽ là videos.
urls = scrapetube.get_channel(channel_username=channel_username, content_type="videos")


# Bắt đầu download thôiii
for url in urls:
download_video(url)
```

**Kết luận**
Và thế là chỉ sau 2 bước đơn giản, các bạn có thể crawl hàng tấn videos để có thêm data cho model rồi. Đơn giản phải không nào 😄

Phần tiếp theo, mình sẽ hướng dẫn các bạn crawl tiktok videos full HD, không watermarks nha, nhớ ghé blog tiếp hen !!


### Tải liệu tham khảo
1. [Scrapetube-demasmid][Scrapetube-demasmid]
2. [Youtube-dl][youtube-dl]


[Scrapetube-demasmid]: https://github.com/dermasmid/scrapetube
[youtube-dl]: https://github.com/ytdl-org/youtube-dl
Loading