TypeError: __init__() got an unexpected keyword argument 'device'
TypeError Traceback (most recent call last) Cell In[3], line 1 ----> 1 xm = load_model('transmitter', device=device) 2 model = load_model('text300M', device=device) 3 diffusion = diffusion_from_config(load_config('diffusion'))
File ~/Projects/shap-e/shap_e/models/download.py:146, in load_model(model_name, device, **kwargs) 139 def load_model( 140 model_name: str, 141 device: torch.device, 142 **kwargs, 143 ) -> Dict[str, torch.Tensor]: 144 from .configs import model_from_config --> 146 model = model_from_config(load_config(model_name, **kwargs), device=device) 147 model.load_state_dict(load_checkpoint(model_name, device=device, **kwargs)) 148 model.eval()
File ~/Projects/shap-e/shap_e/models/configs.py:59, in model_from_config(config, device) 56 return MultiviewTransformerEncoder(device=device, dtype=torch.float32, **config) 57 elif name == "Transmitter": 58 # device = torch.device('cuda') ---> 59 renderer = model_from_config(config.pop("renderer"), device=device) 60 param_shapes = { 61 k: v.shape[1:] for k, v in batch_meta_state_dict(renderer, batch_size=1).items() ... 97 ) 99 mlp_init(self.mlp, init=init, init_scale=init_scale) 101 self.activation = get_act(activation)
TypeError: init() got an unexpected keyword argument 'device'
TypeError Traceback (most recent call last) Cell In[3], line 1 ----> 1 xm = load_model('transmitter', device=device) 2 model = load_model('text300M', device=device) 3 diffusion = diffusion_from_config(load_config('diffusion'))
File ~/Projects/shap-e/shap_e/models/download.py:146, in load_model(model_name, device, **kwargs) 139 def load_model( 140 model_name: str, 141 device: torch.device, 142 **kwargs, 143 ) -> Dict[str, torch.Tensor]: 144 from .configs import model_from_config --> 146 model = model_from_config(load_config(model_name, **kwargs), device=device) 147 model.load_state_dict(load_checkpoint(model_name, device=device, **kwargs)) 148 model.eval()
File ~/Projects/shap-e/shap_e/models/configs.py:59, in model_from_config(config, device) 56 return MultiviewTransformerEncoder(device=device, dtype=torch.float32, **config) 57 elif name == "Transmitter": 58 # device = torch.device('cuda') ---> 59 renderer = model_from_config(config.pop("renderer"), device=device) 60 param_shapes = { 61 k: v.shape[1:] for k, v in batch_meta_state_dict(renderer, batch_size=1).items() ... 97 ) 99 mlp_init(self.mlp, init=init, init_scale=init_scale) 101 self.activation = get_act(activation)
TypeError: init() got an unexpected keyword argument 'device'
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
add this in line 1
@jayanthd26 Thanks for your fast reply! However, I encountered with the error when I was running the "sample_text_to_3d.ipynb", which has added the code "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')" in line 8, before the function "load_model". I think it may have other ways to fix it?
Wha version of pytorch are you running with? Try upgrading.
@unixpickle Thanks for your reply. I used pytorch 1.8+cu113 in Ubuntu18.04. I will try to update it and reply to you.
@unixpickle Thanks for your reply. I used pytorch 1.8+cu113 in Ubuntu18.04. I will try to update it and reply to you.
bro,have you sloved this problem,how?
@ALLIZZWELL123 Sorry, for some reason, I haven't tried the update yet. I will try as soon as possible. On the other hand, welcome to solve the problem jointly! Thanks!
I have successfully get the mesh and ply result. I install all the requirements follow the setup.py by the command
pip install -e .
then everything is ok. The torch I use now is torch 2.0.1.