Bắt đầu ngayBắt đầu miễn phí

Chọn hành động với DQN tối giản

Hàm select_action() cho phép agent chọn hành động có Q-value cao nhất ở mỗi bước.

Hàm nhận Q-network và trạng thái hiện tại làm đối số, và trả về chỉ số của hành động có Q-value cao nhất.

Q-network đã được khởi tạo là q_network, và một trạng thái ngẫu nhiên đã được nạp trong môi trường của bạn với state = torch.rand(8) để cung cấp dữ liệu ví dụ cho bạn thực hành.

Bài tập này là một phần của khóa học

Deep Reinforcement Learning bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Tính các Q-value tương ứng với mỗi hành động trong trạng thái được truyền vào làm đối số.
  • Lấy chỉ số tương ứng với hành động có Q-value cao nhất.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

def select_action(q_network, state):
    # Calculate the Q-values
    q_values = ____
    print("Q-values:", [round(x, 2) for x in q_values.tolist()])
    # Obtain the action index with highest Q-value
    action = torch.____.item()
    print(f"Action selected: {action}, with q-value {q_values[action]:.2f}")
    return action

select_action(q_network, state)
Chỉnh sửa và Chạy Mã