<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_roast_properties(self, settings):
 """Set the properties of the roast. :param settings: General settings for the roast setup :type settings: dict :returns: None :raises: InvalidInput """

        if type(settings) != dict:
            raise InvalidInput("Properties value must be of dict")
        valid = ['name', 'input_weight', 'output_weight', 'operator', 'notes',
                 'coffee']
        for key, value in settings.items():
            if key not in valid:
                continue
            self._roast[key] = value