Views
No views yet
1>>> from transformers import AutoTokenizer, LlamaForCausalLM
2>>> import torch
3
4>>> tokenizer = AutoTokenizer.from_pretrained("zjunlp/MolGen-7b")
5>>> model = LlamaForCausalLM.from_pretrained(
6 "zjunlp/MolGen-7b",
7 load_in_8bit=True,
8 torch_dtype=torch.float16,
9 device_map="auto",
10 )
11>>> device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
12>>> sf_input = tokenizer(tokenizer.bos_token, return_tensors="pt").to(device)
13
14>>> molecules = model.generate(input_ids=sf_input["input_ids"],
15 attention_mask=sf_input["attention_mask"],
16 do_sample=True,
17 max_new_tokens=10,
18 top_p=0.75,
19 top_k=30,
20 return_dict_in_generate=False,
21 num_return_sequences=5,
22 )
23>>> sf_output = [tokenizer.decode(g, skip_special_tokens=True, clean_up_tokenization_spaces=True).replace(" ","") for g in molecules]
24['[C][C][=C][C][=C][Branch2][Ring1][=Branch2][C][=Branch1]',
25'[C][N][C][C][C][Branch2][Ring2][Ring2][N][C]',
26'[C][O][C][=C][C][=C][C][Branch2][Ring1][Branch1]',
27'[C][N][C][C][C@H1][Branch2][Ring1][Branch2][N][Branch1]',
28'[C][=C][C][Branch2][Ring1][#C][C][=Branch1][C][=O]']1>>> from transformers import AutoTokenizer, LlamaForCausalLM
2>>> import torch
3
4>>> tokenizer = AutoTokenizer.from_pretrained("zjunlp/MolGen-7b")
5>>> model = LlamaForCausalLM.from_pretrained(
6 "zjunlp/MolGen-7b",
7 load_in_8bit=True,
8 torch_dtype=torch.float16,
9 device_map="auto",
10 )
11>>> device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
12>>> sf_input = tokenizer("[C][N][O]", return_tensors="pt").to(device)
13
14>>> molecules = model.generate(input_ids=sf_input["input_ids"],
15 attention_mask=sf_input["attention_mask"],
16 do_sample=True,
17 max_new_tokens=10,
18 top_p=0.75,
19 top_k=30,
20 return_dict_in_generate=False,
21 num_return_sequences=5,
22 )
23>>> sf_output = [tokenizer.decode(g, skip_special_tokens=True, clean_up_tokenization_spaces=True).replace(" ","") for g in molecules]
24['[C][N][O][C][=Branch1][C][=O][/C][Ring1][=Branch1][=C][/C][=C]',
25'[C][N][O][/C][=Branch1][#Branch1][=C][/N][Branch1][C][C][C][C]',
26'[C][N][O][/C][=C][/C][=C][C][=Branch1][C][=O][C][=C]',
27'[C][N][O][C][=Branch1][C][=O][N][Branch1][C][C][C][=Branch1]',
28'[C][N][O][Ring1][Branch1][C][C][C][C][C][C][C][C]']1@inproceedings{fang2023domain,
2 author = {Yin Fang and
3 Ningyu Zhang and
4 Zhuo Chen and
5 Xiaohui Fan and
6 Huajun Chen},
7 title = {Domain-Agnostic Molecular Generation with Chemical Feedback},
8 booktitle = {{ICLR}},
9 publisher = {OpenReview.net},
10 year = {2024},
11 url = {https://openreview.net/pdf?id=9rPyHyjfwP}
12}