EagerSession.ResourceCleanupStrategy
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Kiểm soát cách dọn sạch tài nguyên TensorFlow khi không còn cần thiết.
Tất cả tài nguyên được phân bổ trong EagerSession
sẽ bị xóa khi đóng phiên. Để ngăn ngừa lỗi hết bộ nhớ, bạn nên dọn sạch các tài nguyên đó trong phiên. Ví dụ: thực hiện n thao tác trong một vòng lặp gồm m lần lặp sẽ phân bổ tối thiểu n*m tài nguyên trong khi trong hầu hết các trường hợp, chỉ các tài nguyên của lần lặp cuối cùng vẫn được sử dụng.
Các phiên bản EagerSession
có thể được thông báo theo nhiều cách khác nhau khi các đối tượng TensorFlow không còn được giới thiệu nữa, do đó, chúng có thể tiến hành dọn sạch mọi tài nguyên mà chúng sở hữu.
Phương pháp kế thừa
Từ lớp java.lang.Enum int cuối cùng | so sánh (E arg0) |
int | so sánh (Đối tượng arg0) |
boolean cuối cùng | bằng (Đối tượng arg0) |
Lớp cuối cùng<E> | getDeclaringClass () |
int cuối cùng | Mã Băm () |
chuỗi cuối cùng | tên () |
int cuối cùng | thứ tự () |
Sợi dây | toString () |
tĩnh <T mở rộng Enum<T>> T | valueOf (Lớp<T> arg0, Chuỗi arg1) |
Từ lớp java.lang.Object boolean | bằng (Đối tượng arg0) |
Lớp cuối cùng<?> | getClass () |
int | Mã Băm () |
khoảng trống cuối cùng | thông báo () |
khoảng trống cuối cùng | thông báoTất cả () |
Sợi dây | toString () |
khoảng trống cuối cùng | chờ đã (arg0 dài, int arg1) |
khoảng trống cuối cùng | chờ đã (arg0 dài) |
khoảng trống cuối cùng | Chờ đợi () |
Từ giao diện java.lang.Comparable int trừu tượng | so sánhTo (E mở rộng Enum<E> arg0) |
Giá trị liệt kê
trận chung kết tĩnh công khai EagerSession.ResourceCleanupStrategy IN_BACKGROUND
Giám sát và xóa các tài nguyên không sử dụng khỏi luồng mới đang chạy ở chế độ nền.
Đây là cách tiếp cận đáng tin cậy nhất để dọn sạch tài nguyên TensorFlow, với chi phí phải khởi động và chạy một luồng bổ sung dành riêng cho tác vụ này. Mỗi phiên bản EagerSession
có luồng riêng, luồng này chỉ dừng khi phiên đóng.
Chiến lược này được sử dụng theo mặc định.
trận chung kết tĩnh công khai EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS
Giám sát và xóa các tài nguyên không sử dụng khỏi các luồng hiện có, trước hoặc sau khi chúng hoàn thành một tác vụ khác.
Các tài nguyên không sử dụng sẽ được giải phóng khi lệnh gọi đến thư viện TensorFlow đạt đến điểm an toàn để dọn dẹp. Việc này được thực hiện đồng bộ và có thể chặn trong một khoảng thời gian ngắn luồng đã kích hoạt lệnh gọi đó.
Chiến lược này chỉ nên được sử dụng nếu, vì một số lý do, không có luồng bổ sung nào được phân bổ để dọn dẹp. Nếu không, IN_BACKGROUND
nên được ưu tiên.
trận chung kết tĩnh công khai EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE
Chỉ xóa tài nguyên khi phiên đóng.
Tất cả tài nguyên được phân bổ trong phiên sẽ vẫn còn trong bộ nhớ cho đến khi phiên được đóng rõ ràng (hoặc thông qua kỹ thuật `try-with-resource` truyền thống). Sẽ không có nhiệm vụ bổ sung nào cho việc dọn dẹp tài nguyên.
Chiến lược này có thể dẫn đến lỗi hết bộ nhớ và không nên sử dụng nó, trừ khi phạm vi của phiên bị giới hạn chỉ thực hiện một lượng nhỏ thao tác.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để xem chi tiết, vui lòng tham khảo Chính sách trên trang web của Google Developers. Java là một nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết của Oracle. Một số nội dung được cấp phép theo giấy phép numpy.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# EagerSession.ResourceCleanupStrategy\n\npublic static final enum **EagerSession.ResourceCleanupStrategy** \nControls how TensorFlow resources are cleaned up when they are no longer needed.\n\nAll resources allocated during an `EagerSession` are deleted when the session is\nclosed. To prevent out-of-memory errors, it is also strongly suggest to cleanup those resources\nduring the session. For example, executing n operations in a loop of m iterations will allocate\na minimum of n\\*m resources while in most cases, only resources of the last iteration are still\nbeing used.\n\n`EagerSession` instances can be notified in different ways when TensorFlow objects are\nno longer being referred, so they can proceed to the cleanup of any resources they owned.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Inherited Methods\n\nFrom class java.lang.Enum \n\n|----------------------------------|---------------------------------------|\n| final int | compareTo(E arg0) |\n| int | compareTo(Object arg0) |\n| final boolean | equals(Object arg0) |\n| final Class\\\u003cE\\\u003e | getDeclaringClass() |\n| final int | hashCode() |\n| final String | name() |\n| final int | ordinal() |\n| String | toString() |\n| static \\\u003cT extends Enum\\\u003cT\\\u003e\\\u003e T | valueOf(Class\\\u003cT\\\u003e arg0, String arg1) |\n\nFrom class java.lang.Object \n\n|------------------|---------------------------|\n| boolean | equals(Object arg0) |\n| final Class\\\u003c?\\\u003e | getClass() |\n| int | hashCode() |\n| final void | notify() |\n| final void | notifyAll() |\n| String | toString() |\n| final void | wait(long arg0, int arg1) |\n| final void | wait(long arg0) |\n| final void | wait() |\n\nFrom interface java.lang.Comparable \n\n|--------------|-------------------------------------|\n| abstract int | compareTo(E extends Enum\\\u003cE\\\u003e arg0) |\n\nEnum Values\n-----------\n\n#### public static final EagerSession.ResourceCleanupStrategy\n**IN_BACKGROUND**\n\nMonitor and delete unused resources from a new thread running in background.\n\nThis is the most reliable approach to cleanup TensorFlow resources, at the cost of\nstarting and running an additional thread dedicated to this task. Each `EagerSession`\ninstance has its own thread, which is stopped only when the session is closed.\n\nThis strategy is used by default.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n#### public static final EagerSession.ResourceCleanupStrategy\n**ON_SAFE_POINTS**\n\nMonitor and delete unused resources from existing threads, before or after they complete\nanother task.\n\nUnused resources are released when a call to the TensorFlow library reaches a safe point\nfor cleanup. This is done synchronously and might block for a short period of time the thread\nwho triggered that call.\n\nThis strategy should be used only if, for some reasons, no additional thread should be\nallocated for cleanup. Otherwise, [IN_BACKGROUND](/versions/r2.13/api_docs/java/org/tensorflow/EagerSession.ResourceCleanupStrategy#IN_BACKGROUND) should be preferred.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n#### public static final EagerSession.ResourceCleanupStrategy\n**ON_SESSION_CLOSE**\n\nOnly delete resources when the session is closed.\n\nAll resources allocated during the session will remained in memory until the session is\nexplicitly closed (or via the traditional \\`try-with-resource\\` technique). No extra task for\nresource cleanup will be attempted.\n\nThis strategy can lead up to out-of-memory errors and its usage is not recommended, unless\nthe scope of the session is limited to execute only a small amount of operations.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e"]]