The initial training dataset was created by randomly selecting approximately 5 million molecules from the ZINC270 database (accessed via DeepChem Python package, interface-documentation/downloads), within the 250-350 Dalton molecular weight range. This dataset was split into training and testing subsets at a 9:1 ratio. To evaluate model generalizability, a secondary dataset of 1.5 million molecules (0-500 Daltons) was extracted from PubChem. Molecules containing elements Se, Sn, As, Ge, Te, Al, Hg, Ga, Sb, Pb, Tl, Bi, Ti, Li, Zn, Na, and Pd were excluded to maintain consistency with the ZINC dataset composition. To ensure dataset uniqueness and prevent overlap, we compared the canonicalized SMILES representations of molecules from both ZINC and PubChem datasets, removing any duplicates.