Thư viện tự động hóa Python

Python là một đại dương các thư viện phục vụ nhiều mục đích khác nhau và là một nhà phát triển Python, bạn phải có kiến ​​thức vững chắc về những thứ tốt nhất. Để giúp bạn trong việc này, đây là một bài viết mang đến cho bạn 10 thư viện Python hàng đầu dành cho máy học.


Giới thiệu

Thư viện tự động hóa Python
Python là một trong những ngôn ngữ lập trình phổ biến và được sử dụng rộng rãi nhất và đã thay thế nhiều ngôn ngữ lập trình trong ngành

Có rất nhiều lý do khiến Python trở nên phổ biến đối với các nhà phát triển và một trong số đó là nó có một bộ thư viện lớn đáng kinh ngạc mà người dùng có thể làm việc cùng. Để tìm hiểu thêm về Python, bạn có thể tham gia khóa học chứng chỉ Python của chúng tôi ngay hôm nay

Dưới đây là một số lý do quan trọng giải thích tại sao Python lại phổ biến

  • Python có một bộ thư viện khổng lồ
  • Python là ngôn ngữ lập trình dành cho người mới bắt đầu vì tính đơn giản và dễ dàng của nó
  • Từ phát triển đến triển khai và bảo trì Python muốn các nhà phát triển của họ làm việc hiệu quả hơn
  • Tính di động là một lý do khác cho sự phổ biến rộng rãi của Python
  • Cú pháp lập trình Python rất dễ học và ở cấp độ cao khi chúng ta so sánh nó với C, Java và C++

Do đó, chỉ một vài dòng mã tạo ra các ứng dụng mới

Tính đơn giản của Python đã thu hút nhiều nhà phát triển tạo thư viện mới cho máy học. Do có bộ sưu tập thư viện khổng lồ, Python đang trở nên cực kỳ phổ biến đối với các chuyên gia máy học

Tìm hiểu khóa đào tạo Python của chúng tôi tại các thành phố/quốc gia hàng đầu

Vì vậy, thư viện đầu tiên trong blog Top 10 thư viện Python của chúng tôi là TensorFlow


TenorFlow

TensorFlow là gì?

Nếu bạn hiện đang làm việc trong một dự án máy học bằng Python, thì bạn có thể đã nghe nói về thư viện mã nguồn mở phổ biến này có tên là TensorFlow

Thư viện này do Google phối hợp với Brain Team phát triển. TensorFlow là một phần của hầu hết mọi ứng dụng Google dành cho máy học

TensorFlow hoạt động giống như một thư viện tính toán để viết các thuật toán mới liên quan đến một số lượng lớn các hoạt động của tenxơ, vì các mạng thần kinh có thể dễ dàng biểu thị dưới dạng đồ thị tính toán nên chúng có thể được triển khai bằng TensorFlow như một loạt các thao tác trên TensorFlow. Ngoài ra, tenxơ là ma trận N chiều đại diện cho dữ liệu của bạn

Các tính năng của TensorFlow

TensorFlow được tối ưu hóa về tốc độ, nó sử dụng các kỹ thuật như XLA cho các phép toán đại số tuyến tính nhanh chóng

1. Xây dựng đáp ứng

Với TensorFlow, chúng tôi có thể dễ dàng hình dung từng phần của biểu đồ không phải là tùy chọn khi sử dụng Numpy hoặc SciKit

2. Linh hoạt

Một trong những Tính năng rất quan trọng của Tensorflow là nó linh hoạt trong khả năng hoạt động, nghĩa là nó có tính mô đun và các phần của nó mà bạn muốn làm độc lập, nó cung cấp cho bạn tùy chọn đó

3. Dễ dàng huấn luyện

Nó có thể dễ dàng huấn luyện trên CPU cũng như GPU cho điện toán phân tán

4. Đào tạo mạng lưới thần kinh song song

TensorFlow cung cấp tính năng đường ống theo nghĩa là bạn có thể đào tạo nhiều mạng nơ-ron và nhiều GPU, giúp các mô hình hoạt động rất hiệu quả trên các hệ thống quy mô lớn

Không cần phải nói, nếu nó được phát triển bởi Google, thì đã có một nhóm lớn các kỹ sư phần mềm liên tục làm việc để cải thiện độ ổn định

6. Mã nguồn mở

Điều tốt nhất về thư viện máy học này là nó là mã nguồn mở nên bất kỳ ai cũng có thể sử dụng nó miễn là họ có kết nối internet

Công dụng của TensorFlow?

Bạn đang sử dụng TensorFlow hàng ngày nhưng gián tiếp với các ứng dụng như Google Voice Search hoặc Google Photos. Đây là các ứng dụng của TensorFlow

Tất cả các thư viện được tạo trong TensorFlow đều được viết bằng C và C++. Tuy nhiên, nó có giao diện người dùng phức tạp dành cho Python. Mã Python của bạn sẽ được biên dịch và sau đó được thực thi trên công cụ thực thi phân tán TensorFlow được xây dựng bằng C và C++

Số lượng ứng dụng của TensorFlow thực sự là không giới hạn và đó là vẻ đẹp của TensorFlow

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có Scikit-Learn


Scikit-Tìm hiểu

Thư viện tự động hóa Python

Scikit-learning là gì?

Nó là một thư viện Python được liên kết với NumPy và SciPy. Nó được coi là một trong những thư viện tốt nhất để làm việc với dữ liệu phức tạp

Có rất nhiều thay đổi đang được thực hiện trong thư viện này. Một sửa đổi là tính năng xác thực chéo, cung cấp khả năng sử dụng nhiều chỉ số. Rất nhiều phương pháp đào tạo như hồi quy hậu cần và hàng xóm gần nhất đã nhận được một số cải tiến nhỏ

Các tính năng của Scikit-Learn

1. xác thực chéo. Có nhiều phương pháp khác nhau để kiểm tra tính chính xác của các mô hình được giám sát trên dữ liệu không nhìn thấy

2. Thuật toán học không giám sát. Một lần nữa, có rất nhiều thuật toán trong dịch vụ – bắt đầu từ phân cụm, phân tích nhân tố, phân tích thành phần chính cho đến các mạng thần kinh không được giám sát

3. Khai thác tính năng. Hữu ích cho việc trích xuất các tính năng từ hình ảnh và văn bản (e. g. túi từ)

Chúng ta đang sử dụng Scikit-Learn ở đâu?

Nó chứa rất nhiều thuật toán để thực hiện các nhiệm vụ khai thác dữ liệu và học máy tiêu chuẩn như giảm kích thước, phân loại, hồi quy, phân cụm và lựa chọn mô hình

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có Numpy


Nặng nề

Thư viện tự động hóa Python

Numpy là gì?

Numpy được coi là một trong những thư viện máy học phổ biến nhất trong Python

TensorFlow và các thư viện khác sử dụng Numpy nội bộ để thực hiện nhiều thao tác trên Tensors. Giao diện mảng là tính năng tốt nhất và quan trọng nhất của Numpy

Các tính năng của Numpy

  1. tương tác. Numpy rất tương tác và dễ sử dụng
  2. toán học. Làm cho việc triển khai toán học phức tạp trở nên rất đơn giản
  3. Trực giác. Làm cho mã hóa thực sự dễ dàng và nắm bắt các khái niệm dễ dàng
  4. Rất nhiều tương tác. Được sử dụng rộng rãi, do đó có rất nhiều đóng góp mã nguồn mở

Công dụng của Numpy?

Giao diện này có thể được sử dụng để thể hiện hình ảnh, sóng âm thanh và các luồng thô nhị phân khác dưới dạng một mảng các số thực trong N-chiều

Để triển khai thư viện này cho máy học, kiến ​​thức về Numpy rất quan trọng đối với các nhà phát triển ngăn xếp đầy đủ

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có Keras


máy ảnh

Thư viện tự động hóa Python

Máy ảnh là gì?

Keras được coi là một trong những thư viện máy học thú vị nhất trong Python. Nó cung cấp một cơ chế dễ dàng hơn để thể hiện các mạng thần kinh. Keras cũng cung cấp một số tiện ích tốt nhất để biên dịch mô hình, xử lý tập dữ liệu, trực quan hóa biểu đồ, v.v.

Trong phần phụ trợ, Keras sử dụng Theano hoặc TensorFlow trong nội bộ. Một số mạng thần kinh phổ biến nhất như CNTK cũng có thể được sử dụng. Keras tương đối chậm khi chúng tôi so sánh nó với các thư viện máy học khác. Bởi vì nó tạo ra một biểu đồ tính toán bằng cách sử dụng cơ sở hạ tầng back-end và sau đó sử dụng nó để thực hiện các hoạt động. Tất cả các mô hình trong Keras đều có thể mang theo được

Các tính năng của máy ảnh

  • Nó chạy mượt mà trên cả CPU và GPU
  • Keras hỗ trợ hầu hết tất cả các mô hình của mạng thần kinh – được kết nối đầy đủ, tích chập, tổng hợp, tái phát, nhúng, v.v. Hơn nữa, các mô hình này có thể được kết hợp để xây dựng các mô hình phức tạp hơn
  • Keras, có bản chất là mô-đun, vô cùng biểu cảm, linh hoạt và thích hợp cho nghiên cứu đổi mới
  • Keras là một khung hoàn toàn dựa trên Python, giúp dễ dàng gỡ lỗi và khám phá

Chúng ta đang sử dụng Keras ở đâu?

Bạn đã liên tục tương tác với các tính năng được xây dựng bằng Keras — nó được sử dụng tại Netflix, Uber, Yelp, Instacart, Zocdoc, Square, v.v. Nó đặc biệt phổ biến trong số các công ty khởi nghiệp đặt học sâu vào cốt lõi của sản phẩm của họ

Keras chứa nhiều cách triển khai các khối xây dựng mạng nơ-ron thường được sử dụng như lớp, mục tiêu, chức năng kích hoạt, trình tối ưu hóa và nhiều công cụ giúp làm việc với dữ liệu hình ảnh và văn bản dễ dàng hơn.  

Thêm vào đó, nó cung cấp nhiều bộ dữ liệu được xử lý trước và các mô hình được đào tạo trước như MNIST, VGG, Inception, SqueezeNet, ResNet, v.v.

Keras cũng là ứng dụng yêu thích của các nhà nghiên cứu deep learning, đứng ở vị trí thứ 2. Keras cũng đã được các nhà nghiên cứu tại các tổ chức khoa học lớn, đặc biệt là CERN và NASA chấp nhận.

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có PyTorch


PyTorch

Thư viện tự động hóa Python

PyTorch là gì?

PyTorch là thư viện máy học lớn nhất cho phép các nhà phát triển thực hiện các phép tính tensor khi tăng tốc GPU, tạo các biểu đồ tính toán động và tự động tính toán độ dốc. Ngoài ra, PyTorch cung cấp các API phong phú để giải quyết các sự cố ứng dụng liên quan đến mạng thần kinh

Thư viện máy học này dựa trên Torch, là thư viện máy nguồn mở được triển khai bằng C với trình bao bọc trong Lua

Thư viện máy trong Python này đã được giới thiệu vào năm 2017 và kể từ khi thành lập, thư viện này đã trở nên phổ biến và thu hút ngày càng nhiều nhà phát triển máy học

Tính năng của PyTorch

Giao diện người dùng lai

Giao diện người dùng kết hợp mới cung cấp tính dễ sử dụng và linh hoạt trong chế độ háo hức, đồng thời chuyển đổi liền mạch sang chế độ biểu đồ để có tốc độ, tối ưu hóa và chức năng trong môi trường thời gian chạy C++

Đào tạo phân tán

Tối ưu hóa hiệu suất trong cả nghiên cứu và sản xuất bằng cách tận dụng hỗ trợ riêng để thực hiện không đồng bộ các hoạt động tập thể và giao tiếp ngang hàng có thể truy cập được từ Python và C++

Python đầu tiên

PyTorch không phải là Python ràng buộc vào khung C++ nguyên khối. Nó được xây dựng để tích hợp sâu vào Python để có thể sử dụng nó với các thư viện và gói phổ biến như Cython và Numba

Thư viện và Công cụ

Một cộng đồng tích cực gồm các nhà nghiên cứu và nhà phát triển đã xây dựng một hệ sinh thái phong phú gồm các công cụ và thư viện để mở rộng PyTorch và hỗ trợ phát triển trong các lĩnh vực từ thị giác máy tính đến học tăng cường

Các ứng dụng của PyTorch?

PyTorch chủ yếu được sử dụng cho các ứng dụng như xử lý ngôn ngữ tự nhiên

Nó chủ yếu được phát triển bởi nhóm nghiên cứu trí tuệ nhân tạo của Facebook và phần mềm "Pyro" của Uber dành cho lập trình xác suất được xây dựng trên đó

PyTorch đang vượt trội hơn TensorFlow theo nhiều cách và nó đang thu hút rất nhiều sự chú ý trong những ngày gần đây

Bạn có thể xem blog PyTorch hoặc TensorFlow này để tìm ra cái nào tốt hơn cho mình

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có LightGBM


ánh sángGBM

Thư viện tự động hóa Python

LightGBM là gì?

Gradient Boosting là một trong những thư viện học máy tốt nhất và phổ biến nhất, giúp các nhà phát triển xây dựng các thuật toán mới bằng cách sử dụng các mô hình cơ bản được xác định lại và cụ thể là cây quyết định. Do đó, có các thư viện đặc biệt có sẵn để triển khai nhanh chóng và hiệu quả phương pháp này

Các thư viện này là LightGBM, XGBoost và CatBoost. Tất cả các thư viện này là đối thủ cạnh tranh giúp giải quyết một vấn đề chung và có thể được sử dụng theo cách gần như giống nhau

Các tính năng của LightGBM

Tính toán rất nhanh đảm bảo hiệu quả sản xuất cao

Trực quan, do đó làm cho nó thân thiện với người dùng

Đào tạo nhanh hơn nhiều thư viện deep learning khác

Sẽ không tạo ra lỗi khi bạn xem xét các giá trị NaN và các giá trị chuẩn khác

Các ứng dụng của LightGBM là gì?

Các thư viện này cung cấp các triển khai tăng cường độ dốc có khả năng mở rộng cao, được tối ưu hóa và nhanh chóng, khiến nó trở nên phổ biến đối với các nhà phát triển máy học. Bởi vì hầu hết các nhà phát triển full-stack của máy học đã giành chiến thắng trong các cuộc thi học máy bằng cách sử dụng các thuật toán này

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có Eli5


Eli5

Thư viện tự động hóa Python

Eli5 là gì?

Thông thường, kết quả dự đoán mô hình học máy không chính xác và thư viện học máy Eli5 được tích hợp trong Python giúp vượt qua thử thách này. Nó là sự kết hợp giữa trực quan hóa và gỡ lỗi tất cả các mô hình học máy và theo dõi tất cả các bước hoạt động của thuật toán

Các tính năng của Eli5

Hơn nữa, Eli5 hỗ trợ các thư viện khác XGBoost, sét, scikit-learning và sklearn-crfsuite.  

Các ứng dụng của Eli5 là gì?

Các ứng dụng toán học đòi hỏi tính toán nhiều trong thời gian ngắn

Eli5 đóng một vai trò quan trọng khi có sự phụ thuộc với các gói Python khác

Các ứng dụng kế thừa và triển khai các phương pháp mới hơn trong các lĩnh vực khác nhau

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có SciPy


khoa học viễn tưởng

Thư viện tự động hóa Python

SciPy là gì?

SciPy là một thư viện học máy dành cho các nhà phát triển ứng dụng và kỹ sư. Tuy nhiên, bạn vẫn cần biết sự khác biệt giữa thư viện SciPy và ngăn xếp SciPy. Thư viện SciPy chứa các mô-đun để tối ưu hóa, đại số tuyến tính, tích hợp và thống kê

Các tính năng của SciPy

Tính năng chính của thư viện SciPy là nó được phát triển bằng cách sử dụng NumPy và mảng của nó tận dụng tối đa NumPy

Ngoài ra, SciPy cung cấp tất cả các quy trình số hiệu quả như tối ưu hóa, tích hợp số và nhiều quy trình khác bằng cách sử dụng các mô-đun con cụ thể của nó

Tất cả các chức năng trong tất cả các mô-đun con của SciPy đều được ghi lại rõ ràng

Các ứng dụng của SciPy?

SciPy là một thư viện sử dụng NumPy cho mục đích giải các hàm toán học. SciPy sử dụng mảng NumPy làm cấu trúc dữ liệu cơ bản và đi kèm với các mô-đun cho các tác vụ thường được sử dụng khác nhau trong lập trình khoa học

Các tác vụ bao gồm đại số tuyến tính, tích phân (giải tích), giải phương trình vi phân thông thường và xử lý tín hiệu được SciPy thực hiện dễ dàng

Vì vậy, tiếp theo trên blog '10 thư viện Python hàng đầu' này, chúng ta có Theano


theano

Thư viện tự động hóa Python

Theano là gì?

Theano là một thư viện máy học khung tính toán bằng Python để tính toán các mảng đa chiều. Theano hoạt động tương tự như TensorFlow, nhưng không hiệu quả bằng TensorFlow. Do không có khả năng phù hợp với môi trường sản xuất

Hơn nữa, Theano cũng có thể được sử dụng trên môi trường phân tán hoặc song song tương tự như TensorFlow

Nét đặc trưng Theano

  • Tích hợp chặt chẽ với NumPy – Khả năng sử dụng hoàn toàn các mảng NumPy trong các hàm do Theano biên dịch
  • Sử dụng GPU minh bạch – Thực hiện các phép tính sử dụng nhiều dữ liệu nhanh hơn nhiều so với trên CPU
  • Vi phân ký hiệu hiệu quả – Theano thực hiện đạo hàm của bạn cho các hàm có một hoặc nhiều đầu vào
  • Tối ưu hóa tốc độ và độ ổn định – Nhận câu trả lời đúng cho log(1+x) ngay cả khi x rất nhỏ. Đây chỉ là một trong những ví dụ cho thấy sự ổn định của Theano
  • Tạo mã Dynamic C – Đánh giá các biểu thức nhanh hơn bao giờ hết, do đó, tăng hiệu quả lên rất nhiều
  • Thử nghiệm đơn vị mở rộng và tự xác minh – Phát hiện và chẩn đoán nhiều loại lỗi và sự không rõ ràng trong mô hình

Chúng ta đang sử dụng Theano ở đâu?

Cú pháp thực tế của các biểu thức Theano là tượng trưng, ​​​​có thể gây khó khăn cho người mới bắt đầu sử dụng để phát triển phần mềm thông thường. Cụ thể, biểu thức được định nghĩa theo nghĩa trừu tượng, được biên dịch và sau đó thực sự được sử dụng để tính toán

Nó đặc biệt xử lý các loại tính toán cho các thuật toán mạng thần kinh lớn trong Deep Learning. Đây là một trong những thư viện đầu tiên thuộc loại này (bắt đầu phát triển vào năm 2007) và là một tiêu chuẩn công nghiệp cho nghiên cứu và phát triển Deep Learning

Theano là thế mạnh của nhiều dự án mạng thần kinh ngày nay và mức độ phổ biến của Theano chỉ tăng lên theo thời gian

Và cuối cùng, trên blog '10 thư viện Python hàng đầu' này, chúng tôi có Pandas


gấu trúc

Thư viện tự động hóa Python

Gấu trúc là gì?

Pandas là một thư viện máy học bằng Python cung cấp các cấu trúc dữ liệu cấp cao và nhiều công cụ để phân tích. Một trong những tính năng tuyệt vời của thư viện này là khả năng dịch các hoạt động phức tạp với dữ liệu bằng một hoặc hai lệnh. Pandas có rất nhiều phương pháp sẵn có để nhóm, kết hợp dữ liệu và lọc, cũng như chức năng chuỗi thời gian

Đặc điểm của gấu trúc

Pandas đảm bảo rằng toàn bộ quá trình thao tác dữ liệu sẽ dễ dàng hơn. Hỗ trợ cho các hoạt động như Lập chỉ mục lại, Lặp lại, Sắp xếp, Tập hợp, Ghép nối và Trực quan hóa là một trong những tính năng nổi bật của Pandas

Các ứng dụng của Pandas?

Hiện tại, thư viện pandas có ít bản phát hành hơn bao gồm hàng trăm tính năng mới, sửa lỗi, cải tiến và thay đổi trong API. Các cải tiến trong gấu trúc liên quan đến khả năng nhóm và sắp xếp dữ liệu, chọn đầu ra phù hợp nhất cho phương thức áp dụng và cung cấp hỗ trợ để thực hiện các thao tác loại tùy chỉnh

Phân tích dữ liệu trong số mọi thứ khác có điểm nổi bật khi sử dụng Pandas. Tuy nhiên, Pandas khi được sử dụng với các thư viện và công cụ khác đảm bảo chức năng cao và mức độ linh hoạt tốt


Sự kết luận

Tôi hy vọng blog về 10 thư viện Python hàng đầu này đã giúp bạn bắt đầu quá trình học tập của mình trên các thư viện có sẵn trong Python. Sau khi biết về 10 thư viện Python hàng đầu, tôi khá chắc rằng bạn muốn biết thêm về Python. Để biết thêm về Python, bạn có thể tham khảo các blog sau

Tôi nghĩ rằng các blog sau đây về các khái niệm Python cũng sẽ khiến bạn quan tâm. Kiểm tra nó ra

Nếu bạn có bất kỳ câu hỏi nào liên quan đến hướng dẫn này, vui lòng cho tôi biết trong phần nhận xét

Hãy phát triển thứ gì đó từ thư viện và cho tôi biết trong phần nhận xét bên dưới, tôi rất muốn tham gia cuộc trò chuyện đó

8 khung học tập sâu hàng đầu. Bạn nên học Deep Learning Framework nào?. Edureka

Video Edureka này về “Deep Learning Frameworks” cung cấp cho bạn thông tin chi tiết về 8 Deep Learning frameworks hàng đầu mà bạn nên cân nhắc học

Nhu cầu về Khoa học dữ liệu với các chuyên gia lập trình Python đã tăng lên đáng kể, khiến khóa học này trở nên lý tưởng cho mọi người ở mọi trình độ chuyên môn. Khóa học Khoa học dữ liệu với Python lý tưởng cho các chuyên gia phân tích đang muốn làm việc cùng với các chuyên gia Python, Phần mềm và CNTT, những người quan tâm đến lĩnh vực Phân tích và bất kỳ ai đam mê Khoa học dữ liệu

Khóa đào tạo chứng chỉ lập trình Python của Edureka được thiết kế dành cho sinh viên và các chuyên gia muốn trở thành Thạc sĩ về lập trình Python. Khóa học được thiết kế để giúp bạn bắt đầu lập trình Python và đào tạo bạn về cả khái niệm cốt lõi và nâng cao

Python có tốt cho tự động hóa không?

Một thư viện phong phú gồm các gói hữu ích và các thành phần sẵn sàng sử dụng để tự động hóa hỗ trợ rất nhiều cho việc thử nghiệm trong Python . Python là hướng đối tượng và chức năng. Nó cho phép chọn những gì phù hợp với nhiệm vụ của bạn hơn – hàm hoặc lớp. Các chức năng phân tán không có tác dụng phụ và cú pháp đơn giản giúp chúng có thể đọc được.

Tôi có thể tự động hóa những gì bằng Python?

Python thường được sử dụng tại nơi làm việc để tự động hóa và lên lịch gửi/nhận email và văn bản . Các gói Python – email, smtplib, được sử dụng để gửi email chỉ bằng Python. Bạn có thể biến một nhiệm vụ tốn thời gian thành một nhiệm vụ tự động/theo lịch trình.

Các thư viện Python chính là gì?

10 thư viện Python hàng đầu cho khoa học dữ liệu .
TenorFlow
NumPy
khoa học viễn tưởng
gấu trúc
Matplotlib
máy ảnh
SciKit-Tìm hiểu
PyTorch

Python có thể được sử dụng để tự động hóa giao diện người dùng không?

Xác thực điều hướng người dùng, kiểm tra chức năng và xác thực các trường nhập liệu; . Ngoài ra, thử nghiệm đa nền tảng có thể được thực hiện với các tập lệnh thử nghiệm này. All of these tasks can easily be carried out by applying UI automation with Python and Selenium. Additionally, cross-platform testing can be performed with these test scripts.