Pytorch: прямой проход со всеми образцамиPython

Программы на Python
Ответить
Anonymous
 Pytorch: прямой проход со всеми образцами

Сообщение Anonymous »

Код: Выделить всё

import torch
import torch.nn as nn

class PINN(nn.Module):
def __init__(self, input_dim, output_dim, hidden_layers, neurons_per_layer):
super(PINN, self).__init__()
layers = []
layers.append(nn.Linear(input_dim, neurons_per_layer))
for _ in range(hidden_layers):
layers.append(nn.Linear(neurons_per_layer, neurons_per_layer))
layers.append(nn.Linear(neurons_per_layer, output_dim))
self.network = nn.Sequential(*layers)

def forward(self, x):
return self.network(x)

# Example: generating random input data
inputs = torch.rand((1000, 3))  # 3D input coordinates

model = PINN(input_dim=3, output_dim=3, hidden_layers=4, neurons_per_layer=64)
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)

epochs = 10000
for epoch in range(epochs):
optimizer.zero_grad()
nn_output = model(inputs) # Compute the NN prediction
# Compute e.g gradient of nn_output
loss.backward()
optimizer.step()
Я хочу реализовать NN с учетом физики, где входными данными являются N 3d точки (x,y,z), а выход NN представляет собой векторную величину в этом случае точка, то есть как входное, так и выходное измерение одинаковы.
Чтобы рассчитать потери в каждую эпоху, мне нужно иметь значение количества во всех точках. Пример: для N=1000точек мне нужны все 1000 NN-прогнозов, прежде чем я смогу приступить к расчету потерь.
В моем коде я в основном даю 1000x3 объект на входной слой, предполагая, что pytorch передает каждую строку () отдельно в сеть и в конце снова организует его как объект размером 1000x3.
Работает ли Pytorch так или мне придется переосмыслить этот подход?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ll-samples
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»