This document describes dynamic type inference (DTI) for gradually typed languages with Hindley-Milner type inference. DTI infers types for type variables left undecided by compile-time type inference by instantiating type variables during evaluation based on the types of values. The approach is formalized in a blame calculus λBDTI that extends a simply typed lambda calculus with type variables, casts for runtime type checking, and a reduction relation for DTI. Properties like soundness and completeness of DTI and the gradual guarantee are proven for λBDTI.