Python lưu một biến

Biến TensorFlow là cách được đề xuất để thể hiện trạng thái liên tục, được chia sẻ mà chương trình của bạn thao tác. Hướng dẫn này trình bày cách tạo, cập nhật và quản lý các phiên bản của

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
7 trong TensorFlow

Các biến được tạo và theo dõi thông qua lớp

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
7. Một
my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
7 đại diện cho một tensor có giá trị có thể thay đổi bằng cách chạy ops trên nó. Các hoạt động cụ thể cho phép bạn đọc và sửa đổi các giá trị của tensor này. Các thư viện cấp cao hơn như
print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
0 sử dụng
my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
7 để lưu trữ các tham số mô hình

Thành lập

Sổ ghi chép này thảo luận về vị trí thay đổi. Nếu bạn muốn xem các biến của bạn được đặt trên thiết bị nào, hãy bỏ ghi chú dòng này

import tensorflow as tf

# Uncomment to see where your variables get placed [see below]
# tf.debugging.set_log_device_placement[True]

Tạo một biến

Để tạo một biến, hãy cung cấp một giá trị ban đầu.

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
7 sẽ có cùng giá trị khởi tạo
print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
3

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]

Một biến trông và hoạt động giống như một tensor, và trên thực tế, là một cấu trúc dữ liệu được hỗ trợ bởi một

print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
4. Giống như tenxơ, chúng có
print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
3 và hình dạng, đồng thời có thể xuất sang NumPy

print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
2

Hầu hết các hoạt động tensor hoạt động trên các biến như mong đợi, mặc dù các biến không thể được định hình lại

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
3____14

Như đã lưu ý ở trên, các biến được hỗ trợ bởi tensors. Bạn có thể gán lại tensor bằng cách sử dụng

print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
6. Gọi
print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
7 không [thường] phân bổ một tenxơ mới;

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
7____18

Nếu bạn sử dụng một biến như tenxơ trong các phép toán, bạn thường sẽ thao tác trên tenxơ dự phòng

Tạo các biến mới từ các biến hiện có sẽ nhân đôi các thang đo sao lưu. Hai biến sẽ không chia sẻ cùng một bộ nhớ

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
9
my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
0

Vòng đời, đặt tên và xem

Trong phiên bản TensorFlow dựa trên Python,

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
7 có cùng vòng đời với các đối tượng Python khác. Khi không có tham chiếu đến một biến, nó sẽ tự động bị hủy bỏ

Các biến cũng có thể được đặt tên để có thể giúp bạn theo dõi và gỡ lỗi chúng. Bạn có thể đặt hai biến cùng tên

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
0
my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
1

Tên biến được giữ nguyên khi lưu và tải mô hình. Theo mặc định, các biến trong mô hình sẽ tự động nhận các tên biến duy nhất, vì vậy bạn không cần phải tự gán chúng trừ khi bạn muốn

Mặc dù các biến số rất quan trọng để phân biệt, nhưng một số biến số sẽ không cần phải phân biệt. Bạn có thể tắt độ dốc cho một biến bằng cách đặt

print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
9 thành false khi tạo. Một ví dụ về một biến không cần độ dốc là bộ đếm bước đào tạo

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
2

Đặt biến và tenxơ

Để có hiệu suất tốt hơn, TensorFlow sẽ cố gắng đặt các tenxơ và biến trên thiết bị nhanh nhất tương thích với

print["Shape: ", my_variable.shape]
print["DType: ", my_variable.dtype]
print["As NumPy: ", my_variable.numpy[]]
3 của nó. Điều này có nghĩa là hầu hết các biến được đặt trên GPU nếu có sẵn

Tuy nhiên, bạn có thể ghi đè lên điều này. Trong đoạn mã này, hãy đặt một tenxơ float và một biến trên CPU, ngay cả khi có sẵn GPU. Bằng cách bật ghi nhật ký vị trí thiết bị [xem Thiết lập], bạn có thể biết vị trí đặt biến

Ghi chú. Mặc dù vị trí thủ công hoạt động, sử dụng các chiến lược phân phối có thể là một cách thuận tiện và có thể mở rộng hơn để tối ưu hóa tính toán của bạn

Nếu bạn chạy sổ ghi chép này trên các chương trình phụ trợ khác nhau có và không có GPU, bạn sẽ thấy cách ghi nhật ký khác nhau. Lưu ý rằng vị trí thiết bị ghi nhật ký phải được bật khi bắt đầu phiên

my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
3____04

Có thể đặt vị trí của một biến hoặc tenxơ trên một thiết bị và thực hiện tính toán trên một thiết bị khác. Điều này sẽ gây ra độ trễ, vì dữ liệu cần được sao chép giữa các thiết bị

Tuy nhiên, bạn có thể làm điều này nếu bạn có nhiều nhân viên GPU nhưng chỉ muốn một bản sao của các biến

____05______06Lưu ý.
my_tensor = tf.constant[[[1.0, 2.0], [3.0, 4.0]]]
my_variable = tf.Variable[my_tensor]

# Variables can be all kinds of types, just like tensors
bool_variable = tf.Variable[[False, False, False, True]]
complex_variable = tf.Variable[[5 + 4j, 6 + 1j]]
21 được bật theo mặc định nên ngay cả khi bạn chạy mã này trên thiết bị không có GPU, nó vẫn sẽ chạy. Bước nhân sẽ xảy ra trên CPU

Chủ Đề