Làm thế nào để bạn sử dụng một thanh tiến trình?

Thanh tiến trình là một thành phần điều khiển đồ họa được sử dụng để trực quan hóa tiến trình của một hoạt động máy tính mở rộng, chẳng hạn như tải xuống, truyền tệp hoặc cài đặt. Đôi khi, đồ họa được kèm theo một bản trình bày bằng văn bản về tiến trình ở định dạng phần trăm. Khái niệm này cũng có thể được coi là bao gồm "thanh phát lại" trong trình phát phương tiện theo dõi vị trí hiện tại trong thời lượng của tệp phương tiện

Một sự phát triển gần đây hơn là thanh tiến trình không xác định, được sử dụng trong các trường hợp không xác định được mức độ của nhiệm vụ hoặc tiến trình của nhiệm vụ không thể được xác định theo cách có thể được biểu thị dưới dạng phần trăm. Thanh này sử dụng chuyển động hoặc một số chỉ báo khác để cho biết rằng tiến trình đang diễn ra, thay vì sử dụng kích thước của phần được lấp đầy để hiển thị tổng lượng tiến trình, làm cho nó giống một cái đập hơn là một thanh tiến trình [xem thêm cột của thợ cắt tóc]. Ngoài ra còn có các chỉ báo tiến độ không xác định, không có dạng thanh

Lịch sử[sửa]

Khái niệm thanh tiến trình được phát minh trước khi máy tính kỹ thuật số. Năm 1896, Karol Adamiecki đã phát triển một biểu đồ có tên là biểu đồ hài hòa, nhưng ngày nay được biết đến nhiều hơn với tên biểu đồ Gantt. Tuy nhiên, Adamiecki đã không xuất bản biểu đồ của mình cho đến năm 1931, và sau đó chỉ bằng tiếng Ba Lan. Do đó, biểu đồ hiện mang tên Henry Gantt [1861–1919], người đã thiết kế biểu đồ của mình vào khoảng những năm 1910–1915 và phổ biến nó ở phương Tây

Áp dụng khái niệm này vào máy tính, thanh tiến trình đồ họa đầu tiên xuất hiện trong Nghiên cứu Tiến sĩ năm 1979 của Mitchell Model. Đ. luận án, Giám sát hành vi của hệ thống trong môi trường tính toán phức tạp. [1] Năm 1985, Brad Myers đã trình bày một bài báo về “các chỉ số tiến độ hoàn thành theo phần trăm” tại một hội nghị về tương tác giữa máy tính và con người. [2]

Nhận thức[sửa]

Nghiên cứu của Myers liên quan đến việc yêu cầu mọi người chạy tìm kiếm cơ sở dữ liệu, một số có thanh tiến trình và một số không có. Những người chờ đợi trong khi xem thanh tiến trình đã mô tả trải nghiệm tổng thể tích cực hơn. Myers kết luận rằng việc sử dụng thanh tiến độ làm giảm sự lo lắng và hiệu quả hơn. [3]

Thông thường, thanh tiến trình sử dụng hàm tuyến tính, sao cho mức tăng của thanh tiến trình tỷ lệ thuận với khối lượng công việc đã hoàn thành. Tuy nhiên, việc thay đổi đĩa, bộ nhớ, bộ xử lý, băng thông và các yếu tố khác làm phức tạp ước tính này. Do đó, các thanh tiến trình thường thể hiện các hành vi phi tuyến tính, chẳng hạn như tăng tốc, giảm tốc và tạm dừng. Những hành vi này, cùng với nhận thức phi tuyến tính của con người về thời gian trôi qua, tạo ra nhận thức khác nhau về thời gian hoàn thành các thanh tiến trình. [4] Điều này cũng có nghĩa là thanh tiến trình có thể được thiết kế để "cảm thấy" nhanh hơn

Cuối cùng, thiết kế đồ họa của các thanh tiến trình cũng đã được chứng minh là có ảnh hưởng đến nhận thức của con người về thời lượng. [5]

Hàng giờ làm việc chăm chỉ sẽ trở nên vô ích nếu chương trình của chúng ta không phản hồi trong quá trình thực thi. Thông thường, chúng tôi bắt gặp các tập dữ liệu lớn hoặc các vòng lặp dài hơn, mất nhiều thời gian để hoàn thành, chẳng hạn như trong Data Scraping

Trong khi các lệnh này đang được thực thi và các vòng lặp lớn đang được xử lý đằng sau màn hình, có vẻ như bạn phải chờ đợi vô tận cho đến khi toàn bộ quá trình hoàn tất. Do đó, Tạo Thanh tiến trình sẽ giải quyết vấn đề này

Thanh tiến độ sẽ giúp chúng tôi xem xét tiến độ thực hiện và quản lý mức độ lo lắng của chúng tôi. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo Thanh tiến trình trong Python bằng Jupyter Notebook

mục lục

  1. Giới thiệu
  2. tqdm trong trăn là gì
  3. Cách sử dụng tqdm[] hoặc tqdm trong python
  4. Sử dụng tqdm_notebook[]
  5. Sử dụng tqdm[] và tqdm_notebook[] với Pandas
  6. so sánh. Sử dụng tqdm[] và tqdm_notebook[] trên Vòng lặp lồng nhau
  7. ví dụ python tqdm
  8. Phần kết luận

Giới thiệu

tqdm là một thư viện trong Python được sử dụng để tạo Đồng hồ đo tiến độ hoặc Thanh tiến trình. tqdm lấy tên từ tên tiếng Ả Rập taqaddum có nghĩa là 'tiến bộ'

Việc triển khai tqdm có thể được thực hiện dễ dàng trong các vòng lặp, hàm hoặc thậm chí là Pandas của chúng tôi. Thanh tiến trình khá hữu ích trong Python vì

1. Người ta có thể xem Kernel có còn hoạt động không

2. Thanh tiến trình hấp dẫn trực quan đối với mắt

3. Nó cung cấp Thời gian thực thi mã và Thời gian ước tính để mã hoàn thành, điều này sẽ hữu ích khi làm việc trên các bộ dữ liệu khổng lồ

Xa hơn nữa, chúng ta sẽ xem xét cách sử dụng tqdm[], tqdm_notebook[] và ứng dụng của chúng Trong Pandas trong Jupyter Notebook

Sử dụng tqdm[ ]

tqdm cung cấp một loại thanh tiến trình giao diện điều khiển cho các quy trình của chúng tôi. Sử dụng tqdm là một quá trình đơn giản được giải thích trong các bước sau

1. Cài đặt các yêu cầu

Trước tiên, chúng ta cần cài đặt thư viện tqdm cần thiết. Mở Notebook Jupyter mới và thực hiện

!pip install tqdm
!pip install time

Điều này sẽ hoàn thành việc cài đặt tqdm. Khởi động lại Kernel để bắt đầu sử dụng tqdm

2. Nhập thư viện

Nhập thư viện thời gian và tqdm mới được cài đặt

from tqdm import tqdm
import time

3. Sử dụng tqdm[]

Mã Python

Bây giờ chúng ta sẽ sử dụng hàm tqdm[] trên một chương trình đơn giản có vòng lặp  for

for i in tq[range[20]]:
    time.sleep[0.5]

Ở đây i là biến nhận giá trị từ 0 đến 19 trong mỗi lần lặp. Trong mỗi lần lặp, hệ thống sẽ ngủ trong 0. 5 giây trước khi chuyển sang lần lặp tiếp theo

Mã hoàn chỉnh sẽ trông như thế này

Khi hoàn thành thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

Chúng ta cũng có thể cung cấp các thuộc tính cho tqdm[] chẳng hạn như desc, thuộc tính này nhận một chuỗi và sẽ được thêm làm tiền tố trước thanh tiến trình. Như vậy,

from tqdm import tqdm
import time
for i in tqdm[range[20], desc = 'tqdm[] Progress Bar']:
    time.sleep[0.5]

Khi hoàn thành thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

Ngoài thanh tiến trình, tqdm còn cung cấp thông tin bổ sung như số lần lặp đã hoàn thành trong tổng số lần lặp, Tổng thời gian đã trôi qua, Thời gian ước tính để hoàn thành toàn bộ vòng lặp và tốc độ của vòng lặp tính theo số lần lặp trên giây [hoặc

Sử dụng tqdm_notebook[]

Không giống như tqdm[], tqdm_notebook[] cung cấp phiên bản có màu của thanh tiến trình. Nó có 3 bộ màu theo mặc định

Thanh Màu xanh lam chuyển động hiển thị cho một quá trình đang diễn ra, Thanh màu xanh lá cây ổn định cho biết quá trình đã hoàn tất, Thanh màu đỏ cho biết quá trình đang bị dừng. Điều thú vị là, giống như tqdm[], tqdm_notebook[] cũng có cách triển khai đơn giản

1. Nhập thư viện

from tqdm.notebook import tqdm_notebook
import time

2. Sử dụng tqdm_notebook[]

for i in tqdm_notebook[range[10]]:
    time.sleep[0.5]

Ở đây i là biến nhận giá trị từ 0 đến 19 trong mỗi lần lặp. Trong mỗi lần lặp, hệ thống sẽ ngủ trong 0. 5 giây trước khi chuyển sang lần lặp tiếp theo

Mã hoàn chỉnh sẽ trông như thế này

from tqdm.notebook import tqdm_notebook
import time
for i in tqdm_notebook[range[10]]:
    time.sleep[0.5]

Khi thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

Khi hoàn thành thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

Nếu việc thực thi Mã bị Chấm dứt

Nguồn ảnh – Máy tính cá nhân

Chú ý màu của Progress Bar

Chúng ta có thể đưa ra các đối số bổ sung vào tqdm_notebook[] chẳng hạn như desc để thêm tiền tố vào Thanh tiến trình. Mã sẽ trông như thế này

from tqdm.notebook import tqdm_notebook
import time
for i in tqdm_notebook[range[10], desc = 'Progress using tqdm_notebook[]']:
    time.sleep[0.5]

Khi thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

Sử dụng tqdm_notebook[] trong Pandas

Cả tqdm[] và tqdm_notebook[] đều có thể được sử dụng trong Pandas. Một cách là sử dụng chúng với các vòng lặp for với Chuỗi Pandas hoạt động giống như với các vòng lặp mà chúng ta đã thấy trước đó. Một cách khác là sử dụng chúng trong Pandas. phương pháp áp dụng []. Để sử dụng tqdm[] hoặc tqdm_notebook[] cho. áp dụng. apply[] cần được thay thế bằng. process_apply[]

Ví dụ: hãy lấy một tập dữ liệu từ Kaggle

________số 8

Khi hoàn thành thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

tqdm_notebook. pandas[] chịu trách nhiệm hiển thị thanh tiến trình. Thanh tiến trình hiển thị chức năng áp dụng đang được áp dụng trên tất cả các giá trị của cột Churn. Điều đáng chú ý là, tiến độ. apply[] hoạt động giống như. phương thức áp dụng [] của Pandas

so sánh. Sử dụng tqdm_notebook[] và tqdm[] trên Vòng lặp lồng nhau                                Vòng lặp

Đầu tiên, hãy xem một ví dụ về cách sử dụng tqdm[] trên các vòng lặp lồng nhau

from tqdm import tqdm
for i in tqdm[range[2], desc = 'Loop 1']:
    for j in tqdm[range[20,25], desc = 'Loop 2']:
        time.sleep[0.5]

Khi hoàn thành thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

Bây giờ, hãy xem tqdm_notebook[] trên các vòng lặp lồng nhau

from tqdm import tqdm
import time
0

Khi hoàn thành thực thi mã, chúng tôi nhận được

Nguồn ảnh – Máy tính cá nhân

Rõ ràng là tqdm[] có nhiều thanh tiến trình hơn. Đối với mỗi lần lặp của Vòng 1, nó hiển thị một thanh tiến trình riêng và trong mỗi lần lặp của Vòng 1, nó hiển thị các thanh tiến trình riêng cho mỗi lần lặp của Vòng 2

Do đó, đối với thanh tiến trình đầu tiên của Vòng 1, nó hiển thị 5 thanh tiến trình của Vòng 2, sau đó, đối với thanh tiến trình thứ hai của Vòng 1, nó hiển thị 5 thanh tiến trình riêng biệt của Vòng 2, v.v.

Ngược lại với tqdm[], Progress Bars trong tqdm_notebook[] rất trực quan. Nó chỉ hiển thị một thanh tiến trình cho Vòng 1 và cho mỗi lần lặp của Vòng 1, một thanh tiến trình của Vòng 2. Nghe có vẻ khó đọc nhưng nó sẽ trở nên dễ hiểu khi bạn chạy mã

Phần kết luận

Như vậy, việc theo dõi tiến trình giúp tiết kiệm rất nhiều thời gian và giúp chúng ta không bị nhầm lẫn. Ngoài thuộc tính desc của cả tqdm[] và tqdm_notebook[], nó có thêm các thuộc tính phụ thuộc vào người dùng cuối và nhu cầu của họ

Sử dụng tqdm[] có một ưu điểm nữa là nó có tài liệu hướng dẫn rất chi tiết giúp mọi người có thể tham khảo bất cứ lúc nào. Có thể có nhiều tùy chỉnh cho các thanh tiến trình và nhiều tùy chỉnh khác có thể có trong các bản cập nhật trong tương lai

Ngoài tqdm và tqdm_notebook, người ta có thể theo dõi tiến trình bằng cách sử dụng thanh tiến trình, thanh tiến trình2 và tiến trình Alive

Giới thiệu về tác giả

Kết nối với tôi trên LinkedIn Tại đây

Xem các bài viết khác của tôi Tại đây và trên Phương tiện

Bạn có thể cung cấp phản hồi có giá trị cho tôi trên LinkedIn

Cảm ơn đã cho thời gian của bạn

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả.  

Thanh tiến trình được sử dụng như thế nào?

Thanh tiến trình được sử dụng làm chỉ báo tải trong ứng dụng Android . Chúng thường được sử dụng khi ứng dụng đang tải dữ liệu từ máy chủ hoặc cơ sở dữ liệu.

Thanh tiến trình với ví dụ là gì?

Phát triển ứng dụng Android cho người mới bắt đầu . Ví dụ: khi bạn đang tải lên hoặc tải xuống thứ gì đó từ internet, tốt hơn là hiển thị tiến trình tải xuống/tải lên cho người dùng. used to show progress of a task. For example, when you are uploading or downloading something from the internet, it is better to show the progress of download/upload to the user.

Làm thế nào để sử dụng thanh tiến trình android?

Trong Android, ProgressBar được sử dụng để hiển thị trạng thái công việc đang được thực hiện như phân tích trạng thái công việc hoặc tải xuống tệp, v.v. Trong Android, mặc định thanh tiến trình sẽ hiển thị dưới dạng bánh xe quay nhưng nếu chúng ta muốn nó hiển thị dưới dạng thanh ngang thì chúng ta cần sử dụng thuộc tính style là thanh ngang.

Chủ Đề