Pickle – Thư viện Serialization/Deserialization trong Python

Gần đây khi chạy thử một vài thuật toán Deep Learning, đặc biệt là các thuật toán cung cấp source code sử dụng thư viện Caffe, có gặp một vài vấn đề liên quan đến module Pickle trong Python.
Thực ra, bình thường cũng không định viết gì cả. Nhưng chợt nhớ ra mình cũng quan tâm đến chủ đề Serialization/Deserialization này. Nó có vai trò giống như ASN.1 mà có tìm hiểu hồi trước, hay phổ biến nhất của thể loại này là Protocol Buffer của Google, hay Apache Thrift. Thế là note lại cái để quên nó đi.

Tiếp tục đọc

Advertisements

Khóa học online đầu tiên về Machine Learning (note 3) – Khó ~~

Tiếp theo bài trước trong loạt note về Khóa học online về Machine Learning đầu tiên.

Tuần 6 : Lời khuyên khi ứng áp dụng Machine Learning.

Kiến thúc trong phần này không phải nói về thuật toán, mà là kĩ năng, rồi những thứ cần chú ý khi áp dụng Machine Learning. Và tất nhiên của khi áp dụng Deep Learning nữa.

Tiếp tục đọc

Khóa học online đầu tiên về Machine Learning (note 2) – Khó ~~

Tiếp theo bài trước trong loạt note về khóa học online đầu tiên về Machine Learning.

Tuần 4 : Neurtal Networks : Biểu diễn

Như đã biết, khi nói về dữ liệu, ta thường nói đến một loạt đặc trưng.
Ví dụ: người thì có chiều cao, cân nặng, sở thích, etc.
Và ta cũng đã biết về tạo cá đặc trưng đa thức khi các đặc trưng bậc 1 không đủ để miêu tả tốt dữ liệu.

Tiếp tục đọc

Khoá học online đầu tiên về Machine Learning ( note 1) – Khó ~~

Cuối cùng cũng kết thúc khoá học Online đầu tiên về Machine Learnning.
Do tiếng Anh cùi, nên dù nhìn sub liên tục nhưng vẫn vô số lần tua lại để xem.
Khoá học rất hay, thầy Andrew NG giảng khá kĩ các khái niệm quan trọng.
Dù mình biết Machine Learning nặng về Toán, đặc biệt Toán Tối ưu như machinelearningcoban.com viết, nhưng khoá này không tập trung vào những cái đó.
Nó tập trung vào việc Intuition – Trực giác về Machine Learning.
Ví dụ như giải quyết vấn đề gì. Quá trình Train là đi tìm cái gì. Quá trình Test làm gì. Rồi cách đánh giá một mô hình Machine Learning.

Tiếp tục đọc

Thực hiện 3 phép tập hợp trên bash

Thực hiện 3 phép tập hợp trên bash

Gần đây do phải làm việc crawling dữ liệu, nên có một chút ít động đến các phép toán tập hợp.
Bài này sử dụng để note lại các câu lệnh để thực hiện các phép toán phổ biến với tập hợp.
Nội dung được dịch từ bài viết khá chi tiết của pro Peter Krumins chủ trang http://www.catonmat.net/

Tiếp tục đọc

Một số thứ khi sử dụng command, viết script trong bash

Một số thứ hữu ích khi viết sử dụng command, viết script trong bash

Bài này xin được trích rút một số thứ hữu ích từ bài viết rất hay tên The art of command line và mình cũng đã dịch thử (chưa được review) ở
Nghệ thuật sử dụng dòng lệnh

Tiếp tục đọc

So sánh nhỏ về cú pháp câu lệnh ASM giữa AT&T và Intel

So sánh nhỏ về cú pháp câu lệnh ASM giữa AT&T và Intel

Link gốc:
http://www.imada.sdu.dk/Courses/DM18/Litteratur/IntelnATT.htm

Người dịch:
Ngôn ngữ Assembly không phải là ngôn ngữ tốt để viết ứng dụng,nhất là bây giờ đã là năm 2017. Có quá nhiều thứ hiệu quả và nhanh hơn. Tuy nhiên, khi cần tìm hiểu ở mức hệ điều hành, rồi driver thiết bị, thì việc đọc được Assembly là rất hữu ích.

Nội dung

Cú pháp ASM giữa Intel và AT&T có rất nhiều điềm khác nhau rõ rệt. Điều này nhiều khi dẫn đến sự nhầm lẫn khi một người đã học một ASM của Intel trước rồi sang học ASM của AT&T hoặc ngoặc lại. Bài này, chúng ta sẽ xem xét những cái khác biệt cơ bản đó.

Tiếp tục đọc

Lệnh MOV trong Assembly

Lệnh MOV trong Assembly

Link gốc: http://www5c.biglobe.ne.jp/~ecb/assembler/2_1.html

#Lệnh MOV

1. Lệnh MOV

Lệnh MOV, có thể nói là lệnh cơ bản nhất, có tần số sử dụng nhiều nhất trong bất cứ hệ tính toàn nào.
Làm bất cứ cái gì, đều có bao gồm sao chép dữ liệu trong đó. Nói là chức năng sao chép thôi, chứ thực sự nó bao hàm sao chép, truyền dữ liệu. Đó có thể là từ bộ nhớ (các loại RAM) vào thanh ghi, từ thanh ghi vào bộ nhớ, từ một giá trị nào đó xuống thanh ghi hoặc bộ nhớ chẳng hạn.
Tuy nhiên hãy nhớ rằng KHÔNG THỂ CHUYỂN DỮ LIỆU TỪ BỘ NHỚ SANG BỐ NHỚ ĐƯỢC,
bởi vì BỘ NHỚ ĐƯỢC TRUY CẬP THEO BUS (20bit hoặc 32bit), MỖI LẦN TRUY CẬP BỘ NHỚ CHỈ CÓ THỂ TRUY CẬP MỘT ĐỊA CHỈ MÀ THÔI

Lệnh MOV có 2 tham số, được gọi là Operand, nó giống như bên dưới đây:

MOV DEST, SOURCE

Lệnh này theo cú pháp Intel nha.
Chuyển (Copy) dữ liệu từ SRC đến DEST
SRC, DEST: là địa chỉ thanh ghi hoặc bộ nhớ, bỏ trường hợp cả 2 là bộ nhớ.

Một số ví dụ:

MOV AX, BX : Copy nội dung từ thanh ghi BX sang thanh ghi AX
MOV AL,10  : Lưu giá trị 10 vào thanh ghi AL

Một số chú ý:
- Không thể chuyển dữ liệu giữa bộ nhớ với nhau.
- Nguồn và đích chuyển dữ liệu phải có cùng kích thước
- Không thể chuyển giá giá trị vào thanh ghi segment

Tìm source code của USB Driver trên Linux

Ở bài Tìm driver cho Linux cũng đã nói qua rồi, nhưng bài này muốn chỉ ra chi tiết hơn một chú cho nhưng ai muốn đọc source.

Cách tìm source code driver cho thiết bị USB

1. Nói qua về thiết bị USB

  • Linux kernel xác định driver phù hợp cho thiết bị bằng 2 thông tin chính.
    Đó là Vendor (nhà sản xuất), và Product (sản phẩm).
    Thông tin về Vendor được mô tả bằng một id, trong source thường là idVendor.
    Thông tin về Product cũng được mô tả bằng một id, trong source thường là idProduct.
    2 thông tin trên sẽ xác định duy nhất một loại thiết bị.
    Thông tin về id của mỗi Vendor, Product được đăng kí với tổ chức hỗ trợ USB.

Tiếp tục đọc