--- license: apache-2.0 --- # Model Card for Model ID This modelcard aims to be a base template for new models. It has been generated using [this raw template](https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md?plain=1). ## Model Details ### Model Description - **Developed by:** [More Information Needed] - **Funded by [optional]:** [More Information Needed] - **Shared by [optional]:** [More Information Needed] - **Model type:** [More Information Needed] - **Language(s) (NLP):** [More Information Needed] - **License:** [More Information Needed] - **Finetuned from model [optional]:** [More Information Needed] ### Model Sources [optional] - **Repository:** [More Information Needed] - **Paper [optional]:** [More Information Needed] - **Demo [optional]:** [More Information Needed] ## Uses ### Direct Use ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch tokenizer = AutoTokenizer.from_pretrained('InstructPLM/MPNN-ProGen2-xlarge-CATH42', trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained('InstructPLM/MPNN-ProGen2-xlarge-CATH42', trust_remote_code=True) model.cuda().eval() model.requires_grad_(False) batch = tokenizer('Fast-PETase.pyd|1MQTNPYARGPNPTAASLEASAGPFTVRSFTVSRPSGYGAGTVYYPTNAGGTVGAIAIVPGYTARQSSIKWWGPRLASHGFVVITIDTNSTLDQPESRSSQQMAALRQVASLNGTSSSPIYGKVDTARMGVMGWSMGGGGSLISAANNPSLKAAAPQAPWHSSTNFSSVTVPTLIFACENDSIAPVNSSALPIYDSMSQNAKQFLEIKGGSHSCANSGNSNQALIGKKGVAWMKRFMDNDTRYSTFACENPNSTAVSDFRTANCS2',return_tensors='pt').to(device=model.device) labels = batch.input_ids.masked_fill((1-batch.attention_mask).bool(), -100) labels[:, :tokenizer.n_queries+1] = -100 batch["labels"] = labels with torch.no_grad(): with torch.cuda.amp.autocast(dtype=torch.float16): output = model(**batch) print(output.loss.item()) batch = tokenizer('Fast-PETase.pyd|1',return_tensors='pt').to(device=model.device) tokens_batch = model.generate( **batch, do_sample=True, temperature=0.8, max_length=512+tokenizer.n_queries, min_new_tokens=5, top_p=0.9, num_return_sequences=5, pad_token_id=0, repetition_penalty=1.0, bad_words_ids=[[3]] ) texts = tokenizer.batch_decode(tokens_batch) def truncate_seq(text): bos = text.find('1') eos = text.find('2') if eos > bos and bos >= 0: return text[bos+1:eos] else: return text[bos+1:] print([truncate_seq(t) for t in texts]) # Ref. Seq # 'MQTNPYARGPNPTAASLEASAGPFTVRSFTVSRPSGYGAGTVYYPTNAGGTVGAIAIVPGYTARQSSIKWWGPRLASHGFVVITIDTNSTLDQPESRSSQQMAALRQVASLNGTSSSPIYGKVDTARMGVMGWSMGGGGSLISAANNPSLKAAAPQAPWHSSTNFSSVTVPTLIFACENDSIAPVNSSALPIYDSMSQNAKQFLEIKGGSHSCANSGNSNQALIGKKGVAWMKRFMDNDTRYSTFACENPNSTAVSDFRTANCS' # Designed seq: # 'METNPFHRGPDPTCASLEAGAGPFNVQSFRVDRPLGFGAGTVFYPTDAGGQVPAIAIAPGFTQTQSSVMWYGPRLASHGFVVIVIDTISTFDNPDSRSAQLLAALDQVANLNSNASSPIYGKVDTTRQAVMGHSMGGGGSLISAMNNPSLKAAAPMAPWHVSTNFSAVQVPTFIIGAENDTIAPVASHSIPFYNSIPSSLPKAYMELAGASHLAPNSSNPTIAKYSISWLKRFVDNDTRYEQFLCPAPTSTALISEYRDTCPY', # 'EETNPYSKGPDPTAASLEASAGPFTVQSFSVARPLGFGAGTVYYPTDAGGKVGAIAVVPGYTDTQGSIRWWGPRLASHGFVVMTIDTISSYDQPDSRSAQLMAALDQLANLNSTSSSPIYNKVDTTRQAVMGHSMGGGGSLISAMNNPNLKAAIPMAPWHSSTNFSSVKVPTMILGAERDTVAPVSSHAEPFYNSLPSSTPKAYLELKGASHFFPNTTNTPTFAKSVLAWLKRFVDNDTRYEQFLCPGPTSTDLTDYRNTCPY', # 'SETNPYIKGPDPTAASLEASAGAFTVQSFTVSRPTGFGAGTVYYPTDAGGRVGAIAIVPGYTATQSSIKWWGPRLASHGFVVMTIDTNSTYDQPDSRANQLMAALDQLTNLNSTRSSPIYGKVDTTRQGVMGHSMGGGGSLIAAQDNPNLKAAIPLAPWHSSSNFSSVTVPTLIIGAQNDTVAPVSSHSIPFYTSLPSSLDKAYLELNGASHFAPNSSNTTIAKYSISWLKRFIDNDTRYEQFLCPPPSGSALISEYRNTCPY', # 'EETWPYHRGPDPTAASLEASAGPFTVQSFTVARPLGFGAGTVYYPTDAGGRVGAVAVVPGYTQTQSAIRWWGPRLASHGFVVMTIDTISTFDQPDSRSAQLLAALDQLAVLNSTRSSPIYNKVDTTRQGVMGHSMGGGGSLISAMNNPSLKAAVPLAPWHASTNFSNVQVPTLIIGASDDTTASVTTHSIPFYNSIPSSVPKAYLELQGQSHFCPNTSNTTIAKYSISWLKRFIDNDTRYDQFLCPPPNGSAISDYRSTCPH', # 'METNPFIRGPNPTAASLEASAGPFQVSSFSVARPVGFGAGTVYYPTDAGGQVPAIAIAPGFTQTQASVKWYGPRLASHGFVVIVIDTNSTLDNPDSRSAQLLAALDQVSTLNSSSSSPIYGKVDTTRQGVMGHSMGGGGSLISAQNNPALKAAIPLAPWHVSTDFSGVTVPTLIIGAENDTVAPVGTHAEPFYNSIPSSTPKAYLELNNASHFAPNTSNTTIAKYSIAWLKRFVDNDTRYDQFLCPAPNGNAIQDYRDTCPH' # ``` [More Information Needed] ### Downstream Use [optional] [More Information Needed] ### Out-of-Scope Use [More Information Needed] ## Bias, Risks, and Limitations [More Information Needed] ### Recommendations Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. ## How to Get Started with the Model Use the code below to get started with the model. [More Information Needed] ## Training Details ### Training Data [More Information Needed] ### Training Procedure #### Preprocessing [optional] [More Information Needed] #### Training Hyperparameters - **Training regime:** [More Information Needed] #### Speeds, Sizes, Times [optional] [More Information Needed] ## Evaluation ### Testing Data, Factors & Metrics #### Testing Data [More Information Needed] #### Factors [More Information Needed] #### Metrics [More Information Needed] ### Results [More Information Needed] #### Summary ## Model Examination [optional] [More Information Needed] ## Environmental Impact Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). - **Hardware Type:** [More Information Needed] - **Hours used:** [More Information Needed] - **Cloud Provider:** [More Information Needed] - **Compute Region:** [More Information Needed] - **Carbon Emitted:** [More Information Needed] ## Technical Specifications [optional] ### Model Architecture and Objective [More Information Needed] ### Compute Infrastructure [More Information Needed] #### Hardware [More Information Needed] #### Software [More Information Needed] ## Citation [optional] **BibTeX:** [More Information Needed] **APA:** [More Information Needed] ## Glossary [optional] [More Information Needed] ## More Information [optional] [More Information Needed] ## Model Card Authors [optional] [More Information Needed] ## Model Card Contact [More Information Needed]