ysn-rfd/text-dataset-tiny-code-script-py-format
USED of tahamajs/medicine_ds_persian for .parquet file USED of Alijafarixcs2/persian-it-llama2-2k for .parquet file USED of Abirate/english_quotes for .jsonl file NEW FILES (05/12/2025) NEW FILES (12/26/2025) NEW FILES (02/15/2026)
31.7k
1import torch
2import torch.nn as nn
3import torch.optim as optim
4
5# ⚡ 1. تعریف شبکه عصبی
6class SimpleNN(nn.Module):
7 def __init__(self, input_size, hidden_size, output_size):
8 super(SimpleNN, self).__init__()
9 self.hidden = nn.Linear(input_size, hidden_size) # لایه پنهان
10 self.activation = nn.ReLU() # تابع فعالسازی
11 self.output = nn.Linear(hidden_size, output_size) # لایه خروجی
12
13 def forward(self, x):
14 x = self.hidden(x)
15 x = self.activation(x)
16 x = self.output(x)
17 return x
18
19# ⚡ 2. تنظیمات مدل
20input_size = 10 # تعداد ویژگیهای ورودی (مثلاً 4 ویژگی برای هر داده)
21hidden_size = 4 # تعداد نورونهای لایه پنهان
22output_size = 4 # تعداد کلاسها (مثلاً 3 کلاس)
23
24model = SimpleNN(input_size, hidden_size, output_size)
25print(model)
26
27# ⚡ 3. تعریف تابع هزینه و بهینهساز
28criterion = nn.CrossEntropyLoss() # مناسب برای مسائل طبقهبندی
29optimizer = optim.Adam(model.parameters(), lr=0.01) # الگوریتم بهینهسازی
30
31# ⚡ 4. دادههای ورودی ساختگی
32X_train = torch.rand(10, input_size) # 5 نمونه، هر نمونه دارای 4 ویژگی
33y_train = torch.tensor([0, 1, 2, 1, 0, 1, 2, 1, 0, 1]) # برچسبهای کلاس (0، 1 یا 2)
34
35# ⚡ 5. آموزش مدل (یک epoch برای مثال)
36for i in range(1):
37 optimizer.zero_grad() # تنظیم گرادیانها به صفر
38 outputs = model(X_train) # عبور دادهها از شبکه
39 loss = criterion(outputs, y_train) # محاسبه خطا
40 loss.backward() # محاسبه گرادیانها
41 optimizer.step() # بروزرسانی وزنها
42
43# ⚡ 6. نمایش خروجی و خطا
44print(f"Output:\n{outputs}")
45print(f"Loss: {loss.item()}")
46 