Description
Keep getting such errors while inferencing as well as fine-tuning.
Inference:
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/utils/_contextlib.py:116, in context_decorator..decorate_context(*args, **kwargs)
113 @functools.wraps(func)
114 def decorate_context(*args, **kwargs):
115 with ctx_factory():
--> 116 return func(*args, **kwargs)
File ~/SD/OmniGen/OmniGen/pipeline.py:286, in OmniGenPipeline.call(self, prompt, input_images, height, width, num_inference_steps, guidance_scale, use_img_guidance, img_guidance_scale, max_input_image_size, separate_cfg_infer, offload_model, use_kv_cache, offload_kv_cache, use_input_image_size_as_output, dtype, seed, output_type)
282 # else:
283 # self.model.to(self.device)
285 scheduler = OmniGenScheduler(num_steps=num_inference_steps)
--> 286 samples = scheduler(latents, func, model_kwargs, use_kv_cache=use_kv_cache, offload_kv_cache=offload_kv_cache)
287 samples = samples.chunk((1+num_cfg), dim=0)[0]
289 if self.model_cpu_offload:
File ~/SD/OmniGen/OmniGen/scheduler.py:164, in OmniGenScheduler.call(self, z, func, model_kwargs, use_kv_cache, offload_kv_cache)
162 for i in tqdm(range(self.num_steps)):
163 timesteps = torch.zeros(size=(len(z), )).to(z.device) + self.sigma[i]
--> 164 pred, cache = func(z, timesteps, past_key_values=cache, **model_kwargs)
165 sigma_next = self.sigma[i+1]
166 sigma = self.sigma[i]
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/utils/_contextlib.py:116, in context_decorator..decorate_context(*args, **kwargs)
113 @functools.wraps(func)
114 def decorate_context(*args, **kwargs):
115 with ctx_factory():
--> 116 return func(*args, **kwargs)
File ~/SD/OmniGen/OmniGen/model.py:388, in OmniGen.forward_with_separate_cfg(self, x, timestep, input_ids, input_img_latents, input_image_sizes, attention_mask, position_ids, cfg_scale, use_img_cfg, img_cfg_scale, past_key_values, use_kv_cache, offload_model)
386 model_out, pask_key_values = [], []
387 for i in range(len(input_ids)):
--> 388 temp_out, temp_pask_key_values = self.forward(x[i], timestep[i], input_ids[i], input_img_latents[i], input_image_sizes[i], attention_mask[i], position_ids[i], past_key_values=past_key_values[i], return_past_key_values=True, offload_model=offload_model)
389 model_out.append(temp_out)
390 pask_key_values.append(temp_pask_key_values)
File ~/SD/OmniGen/OmniGen/model.py:338, in OmniGen.forward(self, x, timestep, input_ids, input_img_latents, input_image_sizes, attention_mask, position_ids, padding_latent, past_key_values, return_past_key_values, offload_model)
335 else:
336 input_emb = torch.cat([time_token, x], dim=1)
--> 338 output = self.llm(inputs_embeds=input_emb, attention_mask=attention_mask, position_ids=position_ids, past_key_values=past_key_values, offload_model=offload_model)
339 output, past_key_values = output.last_hidden_state, output.past_key_values
340 if input_is_list:
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/nn/modules/module.py:1553, in Module._wrapped_call_impl(self, *args, **kwargs)
1551 return self._compiled_call_impl(*args, **kwargs) # type: ignore[misc]
1552 else:
-> 1553 return self._call_impl(*args, **kwargs)
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/nn/modules/module.py:1562, in Module._call_impl(self, *args, **kwargs)
1557 # If we don't have any hooks, we want to skip the rest of the logic in
1558 # this function, and just call forward.
1559 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
1560 or _global_backward_pre_hooks or _global_backward_hooks
1561 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1562 return forward_call(*args, **kwargs)
1564 try:
1565 result = None
File ~/SD/OmniGen/OmniGen/transformer.py:157, in Phi3Transformer.forward(self, input_ids, attention_mask, position_ids, past_key_values, inputs_embeds, use_cache, output_attentions, output_hidden_states, return_dict, cache_position, offload_model)
155 if offload_model and not self.training:
156 self.get_offlaod_layer(layer_idx, device=inputs_embeds.device)
--> 157 layer_outputs = decoder_layer(
158 hidden_states,
159 attention_mask=attention_mask,
160 position_ids=position_ids,
161 past_key_value=past_key_values,
162 output_attentions=output_attentions,
163 use_cache=use_cache,
164 cache_position=cache_position,
165 )
167 hidden_states = layer_outputs[0]
169 if use_cache:
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/nn/modules/module.py:1553, in Module._wrapped_call_impl(self, *args, **kwargs)
1551 return self._compiled_call_impl(*args, **kwargs) # type: ignore[misc]
1552 else:
-> 1553 return self._call_impl(*args, **kwargs)
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/nn/modules/module.py:1562, in Module._call_impl(self, *args, **kwargs)
1557 # If we don't have any hooks, we want to skip the rest of the logic in
1558 # this function, and just call forward.
1559 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
1560 or _global_backward_pre_hooks or _global_backward_hooks
1561 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1562 return forward_call(*args, **kwargs)
1564 try:
1565 result = None
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/transformers/models/phi3/modeling_phi3.py:303, in Phi3DecoderLayer.forward(self, hidden_states, attention_mask, position_ids, past_key_value, output_attentions, use_cache, cache_position, position_embeddings, **kwargs)
300 hidden_states = self.input_layernorm(hidden_states)
302 # Self Attention
--> 303 hidden_states, self_attn_weights = self.self_attn(
304 hidden_states=hidden_states,
305 attention_mask=attention_mask,
306 position_ids=position_ids,
307 past_key_value=past_key_value,
308 output_attentions=output_attentions,
309 use_cache=use_cache,
310 cache_position=cache_position,
311 position_embeddings=position_embeddings,
312 **kwargs,
313 )
314 hidden_states = residual + self.resid_attn_dropout(hidden_states) # main diff with Llama
316 residual = hidden_states
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/nn/modules/module.py:1553, in Module._wrapped_call_impl(self, *args, **kwargs)
1551 return self._compiled_call_impl(*args, **kwargs) # type: ignore[misc]
1552 else:
-> 1553 return self._call_impl(*args, **kwargs)
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/torch/nn/modules/module.py:1562, in Module._call_impl(self, *args, **kwargs)
1557 # If we don't have any hooks, we want to skip the rest of the logic in
1558 # this function, and just call forward.
1559 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
1560 or _global_backward_pre_hooks or _global_backward_hooks
1561 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1562 return forward_call(*args, **kwargs)
1564 try:
1565 result = None
File ~/miniconda3/envs/flux/lib/python3.10/site-packages/transformers/models/phi3/modeling_phi3.py:197, in Phi3Attention.forward(self, hidden_states, position_embeddings, attention_mask, past_key_value, cache_position, **kwargs)
194 key_states = key_states.view(hidden_shape).transpose(1, 2)
195 value_states = value_states.view(hidden_shape).transpose(1, 2)
--> 197 cos, sin = position_embeddings
198 query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin)
200 if past_key_value is not None:
201 # sin and cos are specific to RoPE models; cache_position needed for the static cache
TypeError: cannot unpack non-iterable NoneType object