code5ecure commited on
Commit
7938f87
·
verified ·
1 Parent(s): 58acdec

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -5
app.py CHANGED
@@ -4,6 +4,7 @@ import numpy as np
4
  import gradio as gr
5
  from opacus import PrivacyEngine
6
  from torch.utils.data import Dataset
 
7
 
8
  # Load ParsBERT model and tokenizer
9
  model_name = "HooshvareLab/bert-base-parsbert-uncased"
@@ -61,27 +62,31 @@ def train_model():
61
  per_device_train_batch_size=4, # Reduced to avoid memory issues
62
  save_steps=10_000,
63
  save_total_limit=2,
64
- no_cuda=True if not torch.cuda.is_available() else None, # CPU compatibility
65
  logging_steps=100, # Log training progress
66
  )
67
 
 
 
 
68
  trainer = Trainer(
69
  model=model,
70
  args=training_args,
71
  train_dataset=train_dataset,
 
72
  )
73
 
74
  # Add differential privacy
75
- privacy_engine = PrivacyEngine()
76
- private_model, optimizer, train_dataloader = privacy_engine.make_private(
77
  module=model,
78
- optimizer=trainer.optimizer,
79
  data_loader=trainer.get_train_dataloader(),
80
  noise_multiplier=1.1,
81
  max_grad_norm=1.0,
82
  )
83
 
84
- trainer.optimizer = optimizer
85
  trainer.train_dataloader = train_dataloader
86
  trainer.model = private_model # Update trainer to use private model
87
 
 
4
  import gradio as gr
5
  from opacus import PrivacyEngine
6
  from torch.utils.data import Dataset
7
+ from torch.optim import AdamW
8
 
9
  # Load ParsBERT model and tokenizer
10
  model_name = "HooshvareLab/bert-base-parsbert-uncased"
 
62
  per_device_train_batch_size=4, # Reduced to avoid memory issues
63
  save_steps=10_000,
64
  save_total_limit=2,
65
+ use_cpu=True if not torch.cuda.is_available() else False, # Replace no_cuda with use_cpu
66
  logging_steps=100, # Log training progress
67
  )
68
 
69
+ # Initialize optimizer explicitly
70
+ optimizer = AdamW(model.parameters(), lr=5e-5)
71
+
72
  trainer = Trainer(
73
  model=model,
74
  args=training_args,
75
  train_dataset=train_dataset,
76
+ optimizers=(optimizer, None), # Pass optimizer explicitly
77
  )
78
 
79
  # Add differential privacy
80
+ privacy_engine = PrivacyEngine(secure_mode=False) # False for experimentation, set to True for production
81
+ private_model, private_optimizer, train_dataloader = privacy_engine.make_private(
82
  module=model,
83
+ optimizer=optimizer,
84
  data_loader=trainer.get_train_dataloader(),
85
  noise_multiplier=1.1,
86
  max_grad_norm=1.0,
87
  )
88
 
89
+ trainer.optimizer = private_optimizer
90
  trainer.train_dataloader = train_dataloader
91
  trainer.model = private_model # Update trainer to use private model
92