ฉันมีโครงข่ายประสาทเทียมที่มีโครงสร้างดังต่อไปนี้:
class myNetwork(nn.Module):
def __init__(self):
super(myNetwork, self).__init__()
self.bigru = nn.GRU(input_size=2, hidden_size=100, batch_first=True, bidirectional=True)
self.fc1 = nn.Linear(200, 32)
torch.nn.init.xavier_uniform_(self.fc1.weight)
self.fc2 = nn.Linear(32, 2)
torch.nn.init.xavier_uniform_(self.fc2.weight)
ฉันต้องคืนสถานะโมเดลให้เป็นสถานะที่ไม่ได้รับการเรียนรู้โดยการรีเซ็ตพารามิเตอร์ของโครงข่ายประสาทเทียม ฉันสามารถทำได้สำหรับ nn.Linear
เลเยอร์โดยใช้วิธีการด้านล่าง:
def reset_weights(self):
torch.nn.init.xavier_uniform_(self.fc1.weight)
torch.nn.init.xavier_uniform_(self.fc2.weight)
แต่หากต้องการรีเซ็ตน้ำหนักของเลเยอร์ nn.GRU
ฉันไม่พบตัวอย่างข้อมูลดังกล่าว
คำถามของฉันคือเราจะรีเซ็ตเลเยอร์ nn.GRU
ได้อย่างไร วิธีอื่นในการรีเซ็ตเครือข่ายก็ใช้ได้เช่นกัน ความช่วยเหลือใด ๆ ที่ชื่นชม