Views
No views yet
modules_to_save=["score"]revision=:model = PeftModel.from_pretrained(base, "jhsu12/solidity-vuln-cls-timestamp-dependence-v1", revision="checkpoint-200")| Tag | Step |
|---|---|
checkpoint-108 | 108 |
checkpoint-216 | 216 |
checkpoint-324 | 324 |
checkpoint-432 | 432 |
checkpoint-540 | 540 ← main |
1from transformers import AutoTokenizer, AutoModelForSequenceClassification, BitsAndBytesConfig
2from peft import PeftModel
3import torch
4
5base_model = "Qwen/Qwen2.5-Coder-3B-Instruct"
6bnb_config = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4",
7 bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=True)
8
9model = AutoModelForSequenceClassification.from_pretrained(
10 base_model, num_labels=2, quantization_config=bnb_config,
11 device_map="auto", trust_remote_code=True, ignore_mismatched_sizes=True)
12model = PeftModel.from_pretrained(model, "jhsu12/solidity-vuln-cls-timestamp-dependence-v1")
13model.eval()
14
15tokenizer = AutoTokenizer.from_pretrained("jhsu12/solidity-vuln-cls-timestamp-dependence-v1", trust_remote_code=True)
16
17code = "pragma solidity ^0.8.0; contract Example { ... }"
18inputs = tokenizer(code, return_tensors="pt", truncation=True, max_length=1536).to(model.device)
19with torch.no_grad():
20 logits = model(**inputs).logits
21probs = torch.softmax(logits, dim=-1)
22print(f"Safe: {probs[0][0]:.2%}, Vulnerable: {probs[0][1]:.2%}")python inference_classifier.py --checkpoint jhsu12/solidity-vuln-cls-timestamp-dependence-v1 --file contract.sol| Expert | Hub Repo |
|---|---|
| Reentrancy | jhsu12/solidity-vuln-cls-reentrancy-v1 |
| Access Control | jhsu12/solidity-vuln-cls-access-control-v1 |
| Integer Overflow/Underflow | jhsu12/solidity-vuln-cls-integer-overflow-underflow-v1 |
| Timestamp Dependence | jhsu12/solidity-vuln-cls-timestamp-dependence-v1 |
| Unchecked Low-Level Calls | jhsu12/solidity-vuln-cls-unchecked-low-level-calls-v1 |