Câu hỏi:

class ViT(keras.models.Model): """Input shape: (batch_size, heigth, width, 3)""" def init(self, input_shape, patches_size, num_transformers, num_mlp, drop_rate): super(ViT, self).init() self.input_shape = input_shape

self.patches_size = patches_size

self.num_transformers = num_transformers

# Define layers
image_size = tf.shape(input_shape)[1]
num_patches = int((image_size.numpy()**2)/(patches_size**2))
print("Num patches is", num_patches)
project_dim = 3 * (patches_size**2)
print("Num project dim is", project_dim)

self.mlp = MLP(num_mlp, drop_rate)
self.patches = Patches(patches_size)
self.encoder = PatchEncoder(num_patches=num_patches, projection_dim= project_dim)

def call(self, x): pass

bị lỗi Can't set the attribute "input_shape", likely because it conflicts with an existing read-only @property of the object. Please choose a different name. là sao, phải giải quyết thế nào


Lỗi này xảy ra vì bạn đang cố gắng đặt thuộc tính "input_shape" cho một đối tượng, làm xung đột với thuộc tính chỉ đọc input_shape hiện có của Model Keras. Model Keras đã định nghĩa sẵn input_shape dựa trên việc bạn cung cấp trong lớp Layer đầu tiên khi khởi tạo Model hoặc tùy chỉnh Layer.

Để giải quyết vấn đề này, bạn có thể đổi tên thuộc tính "input_shape" của bạn thành một cái tên khác. Dưới đây là một ví dụ về cách bạn có thể chỉnh sửa lớp ViT của mình:

class ViT(keras.models.Model):
  """Input shape: (batch_size, heigth, width, 3)"""
  def __init__(self, my_input_shape, patches_size, num_transformers, num_mlp, drop_rate):
    super(ViT, self).__init__()
    self.my_input_shape = my_input_shape
    ...

Hoặc, nếu bạn cần sử dụng thuộc tính input_shape từ Model Keras, bạn có thể truy cập nó thông qua lớp Layer đầu tiên của mô hình, sau khi đã thêm Layer vào Model.

Mặt khác, nếu bạn muốn tìm hiểu thêm về ViT được chúng tôi tài trợ nghiên cứu và xây dựng, hãy ghé thăm trituenhantao.io để không bỏ lỡ bất kỳ cập nhật nào!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử