burak commited on
Commit
2dc5b66
·
verified ·
1 Parent(s): 5c71899

Fix: Add get_input_embeddings and set_input_embeddings for resize support.

Browse files
Files changed (1) hide show
  1. modeling_syko.py +10 -4
modeling_syko.py CHANGED
@@ -3,7 +3,6 @@ import torch
3
  import torch.nn as nn
4
  from torch.nn import functional as F
5
  from transformers import PretrainedConfig, PreTrainedModel
6
- # BU SATIR YENİ EKLENDİ:
7
  from transformers.modeling_outputs import CausalLMOutputWithPast
8
 
9
  class SykoConfig(PretrainedConfig):
@@ -104,6 +103,7 @@ class SykoForCausalLM(PreTrainedModel):
104
  self.n_layer = config.n_layer
105
  self.dropout = config.dropout
106
 
 
107
  self.token_embedding_table = nn.Embedding(self.vocab_size, self.n_embd)
108
  self.position_embedding_table = nn.Embedding(self.block_size, self.n_embd)
109
  self.blocks = nn.Sequential(*[Block(self.n_embd, self.n_head, self.block_size, self.dropout) for _ in range(self.n_layer)])
@@ -112,6 +112,14 @@ class SykoForCausalLM(PreTrainedModel):
112
 
113
  self.apply(self._init_weights)
114
 
 
 
 
 
 
 
 
 
115
  def _init_weights(self, module):
116
  if isinstance(module, nn.Linear):
117
  torch.nn.init.normal_(module.weight, mean=0.0, std=0.02)
@@ -140,12 +148,10 @@ class SykoForCausalLM(PreTrainedModel):
140
  labels_reshaped = labels.view(B*T)
141
  loss = F.cross_entropy(logits_reshaped, labels_reshaped)
142
 
143
- # --- DÜZELTME BURADA ---
144
- # Tuple yerine CausalLMOutputWithPast döndürüyoruz.
145
  return CausalLMOutputWithPast(
146
  loss=loss,
147
  logits=logits,
148
- past_key_values=None, # Cache kullanmıyoruz şimdilik
149
  hidden_states=None,
150
  attentions=None,
151
  )
 
3
  import torch.nn as nn
4
  from torch.nn import functional as F
5
  from transformers import PretrainedConfig, PreTrainedModel
 
6
  from transformers.modeling_outputs import CausalLMOutputWithPast
7
 
8
  class SykoConfig(PretrainedConfig):
 
103
  self.n_layer = config.n_layer
104
  self.dropout = config.dropout
105
 
106
+ # Embedding katmanının adı 'token_embedding_table'
107
  self.token_embedding_table = nn.Embedding(self.vocab_size, self.n_embd)
108
  self.position_embedding_table = nn.Embedding(self.block_size, self.n_embd)
109
  self.blocks = nn.Sequential(*[Block(self.n_embd, self.n_head, self.block_size, self.dropout) for _ in range(self.n_layer)])
 
112
 
113
  self.apply(self._init_weights)
114
 
115
+ # --- YENİ EKLENEN KISIM: HF BU FONKSİYONLARI ARIYOR ---
116
+ def get_input_embeddings(self):
117
+ return self.token_embedding_table
118
+
119
+ def set_input_embeddings(self, new_embeddings):
120
+ self.token_embedding_table = new_embeddings
121
+ # -----------------------------------------------------
122
+
123
  def _init_weights(self, module):
124
  if isinstance(module, nn.Linear):
125
  torch.nn.init.normal_(module.weight, mean=0.0, std=0.02)
 
148
  labels_reshaped = labels.view(B*T)
149
  loss = F.cross_entropy(logits_reshaped, labels_reshaped)
150
 
 
 
151
  return CausalLMOutputWithPast(
152
  loss=loss,
153
  logits=logits,
154
+ past_key_values=None,
155
  hidden_states=None,
156
  attentions=None,
157
  )