Bài viết rất hay nhưng mình có thắc mắc ở kiến trúc thứ 3 Network + Database mong bạn giúp đỡ
Như bạn nói thì quan sát database hết dữ liệu sẽ tải thêm. Vậy thì tải thêm làm sao biết được loadmore dữ liệu từ page bao nhiêu ? Nếu lưu giá trị page cuối cùng đã tải để sử dụng cho loadmore thì trường hợp dữ liệu thay đổi làm sao cập nhật data trước đó trong database ?
@Sosiii nếu bạn muốn chạy được interface thì cái interface đấy phải được activity implement và từ activity bạn phải truyền đối tượng interface ấy vào adapter
"Thực hiện global average pooling trên các features của các layers conv trước đó"
Global average pooling gần giống với Max Pooling là dùng để giảm các tham số trong model, nhưng nó sử dụng một phương pháp khá cực đoan là nếu tensor có số chiều là hxwxd thì khi qua GAP số chiều sẽ giảm xuống còn là 1x1xd. GAP layers giảm mỗi một hxw feature map xuống còn một số bằng cách lấy trung bình của tất cả các giá trị hw . Chúng ta sẽ lấy tất cả các features của các lp conv như mình ns ở trên cho qua GAP.
"Những features sau đó sẽ được cho vào tiếp một lớp fully-connected với hàm kích hoạt softmax, với cấu trúc đơn giản này ta sẽ xác định ra tầm quan trọng của vùng hình ảnh bằng projecting các weight của output layer lên convolutional feature maps mà đã thu được từ lớp chập cuối cùng." Tất cả những features từ GAP thu được ở trên thì sẽ được cho qua một lớp Dense cuối cùng với activation là softmax :v
Thực hiện global average pooling trên các features của các layers conv trước đó. Những features sau đó sẽ được cho vào tiếp một lớp fully-connected với hàm kích hoạt softmax, với cấu trúc đơn giản này ta sẽ xác định ra tầm quan trọng của vùng hình ảnh bằng projecting các weight của output layer lên convolutional feature maps mà đã thu được từ lớp chập cuối cùng.
Bạn có thể giải thích thêm đoạn này được không? Đọc mãi không hiểu gì :'<
Sử dụng info("log some info message") và logger("log a debug message").
Nó sẽ nhìn gọn gàng hơn app('log')->debug($message) hoặc \Log::debug($message)
Cá nhân mình thấy dùng Facade sẽ tiện hơn cho việc viết test thay vì dùng helper. Cụ thể
Nếu sử dụng logger() thì mình phải hiểu bản chất rằng LogManager được binding thế nào trong container để mock một đối tượng với key phù hợp.
Còn khi sử dụng Log facade, mình có thể mock "trực tiếp" từ facade theo sự hỗ trợ từ Laravel.
Ví dụ
Unit test với helper.
$logger=m::mock('Illuminate\Log\LogManager')->shouldReceive('info')->....;// Vì logger được bind bằng một key là "log" nên muốn giả lập thì phải bind lại nó trong container.app()->instance('log',$logger);// run code to test
THẢO LUẬN
Bài viết rất hay nhưng mình có thắc mắc ở kiến trúc thứ 3 Network + Database mong bạn giúp đỡ Như bạn nói thì quan sát database hết dữ liệu sẽ tải thêm. Vậy thì tải thêm làm sao biết được loadmore dữ liệu từ page bao nhiêu ? Nếu lưu giá trị page cuối cùng đã tải để sử dụng cho loadmore thì trường hợp dữ liệu thay đổi làm sao cập nhật data trước đó trong database ?
cảm ơn bạn nhé.
@Sosiii nếu bạn muốn chạy được interface thì cái interface đấy phải được activity implement và từ activity bạn phải truyền đối tượng interface ấy vào adapter
"Thực hiện global average pooling trên các features của các layers conv trước đó" Global average pooling gần giống với Max Pooling là dùng để giảm các tham số trong model, nhưng nó sử dụng một phương pháp khá cực đoan là nếu tensor có số chiều là hxwxd thì khi qua GAP số chiều sẽ giảm xuống còn là 1x1xd. GAP layers giảm mỗi một hxw feature map xuống còn một số bằng cách lấy trung bình của tất cả các giá trị hw . Chúng ta sẽ lấy tất cả các features của các lp conv như mình ns ở trên cho qua GAP.
"Những features sau đó sẽ được cho vào tiếp một lớp fully-connected với hàm kích hoạt softmax, với cấu trúc đơn giản này ta sẽ xác định ra tầm quan trọng của vùng hình ảnh bằng projecting các weight của output layer lên convolutional feature maps mà đã thu được từ lớp chập cuối cùng." Tất cả những features từ GAP thu được ở trên thì sẽ được cho qua một lớp Dense cuối cùng với activation là softmax :v
ghê quá a Nghĩa ơi
Bạn có thể giải thích thêm đoạn này được không? Đọc mãi không hiểu gì :'<
thank bạn đã chia sẻ !
thank b đã chia sẻ
great post!
@Sosiii tên rv.onclick()....
thank b nhiều
Rất xin lỗi vì đã mang lại sự bất tiện đó, bạn không hiểu phần nào có thể chia sẻ mình sẽ cố gắng support cho bạn.
(Yay) (yay)
)
)
cám ơn bạn đã theo dõi nhé
bạn có thể dùng hàm querySelector của root document nhé
Cá nhân mình thấy dùng Facade sẽ tiện hơn cho việc viết test thay vì dùng helper. Cụ thể Nếu sử dụng logger() thì mình phải hiểu bản chất rằng LogManager được binding thế nào trong container để mock một đối tượng với key phù hợp. Còn khi sử dụng Log facade, mình có thể mock "trực tiếp" từ facade theo sự hỗ trợ từ Laravel.
Ví dụ
Unit test với helper.
Unit test với Facade:
ok bác
Bạn có thể chụp lỗi gửi mình xem đc ko ạ? bạn đang chạy trên môi trường ntn vậy?
Vâng em cảm ơn ạ