{ "architectures": [ "Qwen3VLForConditionalGeneration" ], "dtype": "bfloat16", "eos_token_id": 151645, "hidden_size": 5120, "image_token_id": 151655, "model_type": "qwen3_vl", "pad_token_id": 151643, "text_config": { "attention_bias": false, "attention_dropout": 0.0, "bos_token_id": 151643, "dtype": "bfloat16", "eos_token_id": 151645, "head_dim": 128, "hidden_act": "silu", "hidden_size": 5120, "initializer_range": 0.02, "intermediate_size": 25600, "max_position_embeddings": 262144, "model_type": "qwen3_vl_text", "num_attention_heads": 64, "num_hidden_layers": 64, "num_key_value_heads": 8, "pad_token_id": 151643, "rms_norm_eps": 1e-06, "rope_scaling": { "mrope_interleaved": true, "mrope_section": [ 24, 20, 20 ], "rope_type": "default" }, "rope_theta": 5000000, "use_cache": false, "vocab_size": 151936 }, "tie_word_embeddings": false, "transformers_version": "4.57.6", "video_token_id": 151656, "vision_config": { "deepstack_visual_indexes": [ 8, 16, 24 ], "depth": 27, "dtype": "bfloat16", "hidden_act": "gelu_pytorch_tanh", "hidden_size": 1152, "in_channels": 3, "initializer_range": 0.02, "intermediate_size": 4304, "model_type": "qwen3_vl", "num_heads": 16, "num_position_embeddings": 2304, "out_hidden_size": 5120, "pad_token_id": 151643, "patch_size": 16, "spatial_merge_size": 2, "temporal_patch_size": 2 }, "vision_end_token_id": 151653, "vision_start_token_id": 151652, "spec2mol_v2": { "format": "spec2mol_v2_hf_inline_safetensors", "tensor_prefix": "spec2mol.", "small_modules": { "format": "spec2mol_small_modules_v2", "tensor_prefix": "spec2mol.", "modules": { "s1_omni_ir_linear": { "prefix": "s1_omni_ir_linear.", "modality": "ir", "num_classes": 20, "vocab": [ "alkane", "alkene", "alkyne", "amine", "imine", "nitrile", "alcohol", "ether", "haloalkane", "aldehyde", "ketone", "ester", "amide", "arene", "imidazole", "pyrazole", "oxazole", "isoxazole", "cyclopropane", "epoxide" ], "threshold_source": "0.5", "thresholds": [ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 ], "build_args": { "in_dim": 5120, "proj_dim": 768, "n_layers": 2, "n_heads": 8, "ffn_mult": 2, "dropout": 0.1, "num_queries": 4, "num_classes": 20, "feat_dim": 0, "head_dropout": 0.1 }, "hf_prefix": "spec2mol.s1_omni_ir_linear.", "tensor_count": 46 }, "s1_omni_raman_linear": { "prefix": "s1_omni_raman_linear.", "modality": "raman", "num_classes": 20, "vocab": [ "alkane", "alkene", "alkyne", "amine", "imine", "nitrile", "alcohol", "ether", "haloalkane", "aldehyde", "ketone", "ester", "amide", "arene", "imidazole", "pyrazole", "oxazole", "isoxazole", "cyclopropane", "epoxide" ], "threshold_source": "0.5", "thresholds": [ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 ], "build_args": { "in_dim": 5120, "proj_dim": 768, "n_layers": 2, "n_heads": 8, "ffn_mult": 2, "dropout": 0.1, "num_queries": 4, "num_classes": 20, "feat_dim": 0, "head_dropout": 0.1 }, "hf_prefix": "spec2mol.s1_omni_raman_linear.", "tensor_count": 46 }, "s1_omni_uv_linear": { "prefix": "s1_omni_uv_linear.", "modality": "uv", "num_classes": 20, "vocab": [ "alkane", "alkene", "alkyne", "amine", "imine", "nitrile", "alcohol", "ether", "haloalkane", "aldehyde", "ketone", "ester", "amide", "arene", "imidazole", "pyrazole", "oxazole", "isoxazole", "cyclopropane", "epoxide" ], "threshold_source": "0.5", "thresholds": [ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 ], "build_args": { "in_dim": 5120, "proj_dim": 768, "n_layers": 2, "n_heads": 8, "ffn_mult": 2, "dropout": 0.1, "num_queries": 4, "num_classes": 20, "feat_dim": 0, "head_dropout": 0.1 }, "hf_prefix": "spec2mol.s1_omni_uv_linear.", "tensor_count": 46 }, "atomcount": { "prefix": "atomcount.", "build_args": { "in_dim": 256, "hidden": [ 512, 256 ], "dropout": 0.1, "out_dim": 27 }, "hf_prefix": "spec2mol.atomcount.", "tensor_count": 8 }, "motif": { "prefix": "motif.", "build_args": { "in_dim": 256, "num_classes": 20, "hidden": [ 512, 256 ], "dropout": 0.1, "vocab": [ "alkane", "alkene", "alkyne", "amine", "imine", "nitrile", "alcohol", "ether", "haloalkane", "aldehyde", "ketone", "ester", "amide", "arene", "imidazole", "pyrazole", "oxazole", "isoxazole", "cyclopropane", "epoxide" ], "thresholds_default": [ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 ], "thresholds_tuned": [ 0.09999999403953552, 0.3499999940395355, 0.14999999105930328, 0.6499999761581421, 0.8999999761581421, 0.44999998807907104, 0.3499999940395355, 0.6499999761581421, 0.699999988079071, 0.29999998211860657, 0.5, 0.949999988079071, 0.949999988079071, 0.949999988079071, 0.949999988079071, 0.699999988079071, 0.8500000238418579, 0.800000011920929, 0.75, 0.699999988079071 ], "thresholds": [ 0.09999999403953552, 0.3499999940395355, 0.14999999105930328, 0.6499999761581421, 0.8999999761581421, 0.44999998807907104, 0.3499999940395355, 0.6499999761581421, 0.699999988079071, 0.29999998211860657, 0.5, 0.949999988079071, 0.949999988079071, 0.949999988079071, 0.949999988079071, 0.699999988079071, 0.8500000238418579, 0.800000011920929, 0.75, 0.699999988079071 ], "threshold_source": "thresholds_tuned" }, "vocab": [ "alkane", "alkene", "alkyne", "amine", "imine", "nitrile", "alcohol", "ether", "haloalkane", "aldehyde", "ketone", "ester", "amide", "arene", "imidazole", "pyrazole", "oxazole", "isoxazole", "cyclopropane", "epoxide" ], "thresholds": [ 0.09999999403953552, 0.3499999940395355, 0.14999999105930328, 0.6499999761581421, 0.8999999761581421, 0.44999998807907104, 0.3499999940395355, 0.6499999761581421, 0.699999988079071, 0.29999998211860657, 0.5, 0.949999988079071, 0.949999988079071, 0.949999988079071, 0.949999988079071, 0.699999988079071, 0.8500000238418579, 0.800000011920929, 0.75, 0.699999988079071 ], "threshold_source": "thresholds_tuned", "hf_prefix": "spec2mol.motif.", "tensor_count": 8 }, "dmt": { "prefix": "dmt.", "config_sha256": "058051516ea7471868a028278121f4e213769ddc2835a9a0e2d5c68ddbd89399", "keep_module_prefix": true, "hf_prefix": "spec2mol.dmt.", "tensor_count": 443 } }, "source": "model.safetensors.index.json", "shard": "model-00015-of-00021.safetensors" }, "runtime": { "module_source": "hf_safetensors", "index_file": "model.safetensors.index.json", "tensor_prefix": "spec2mol.", "predictors": { "ir": "hf_safetensors:spec2mol.s1_omni_ir_linear.", "raman": "hf_safetensors:spec2mol.s1_omni_raman_linear.", "uv": "hf_safetensors:spec2mol.s1_omni_uv_linear." }, "route_image_order": [ "ir", "raman", "uv" ], "modality_prompts": { "ir": "请你分析这张IR谱图", "raman": "请你分析这张Raman谱图", "uv": "请你分析这张UV谱图" }, "missing_modality_policy": { "predictor": "skip_missing", "spcformer_context": "zero_fill_missing" }, "motif_fusion": "onehot_intersection", "spcformer_context_order": [ "uv", "ir", "raman" ], "motif_source": "s1_omni_linear_present_modalities", "specformer_usage": [ "dmt_context", "feat256", "atom_count" ], "specformer_motif_head_used": false } } }