def create_distributions(self):
distributions = dict()<EOL>for name in sorted(self.actions_spec):<EOL><INDENT>action = self.actions_spec[name]<EOL>if self.distributions_spec is not None and name in self.distributions_spec:<EOL><INDENT>kwargs = dict(action)<EOL>kwargs['<STR_LIT>'] = name<EOL>kwargs['<STR_LIT>'] = self.summary_labels<EOL>distributions[name] = Distribution.from_spec(<EOL>spec=self.distributions_spec[name],<EOL>kwargs=kwargs<EOL>)<EOL><DEDENT>elif action['<STR_LIT:type>'] == '<STR_LIT:bool>':<EOL><INDENT>distributions[name] = Bernoulli(<EOL>shape=action['<STR_LIT>'],<EOL>scope=name,<EOL>summary_labels=self.summary_labels<EOL>)<EOL><DEDENT>elif action['<STR_LIT:type>'] == '<STR_LIT:int>':<EOL><INDENT>distributions[name] = Categorical(<EOL>shape=action['<STR_LIT>'],<EOL>num_actions=action['<STR_LIT>'],<EOL>scope=name,<EOL>summary_labels=self.summary_labels<EOL>)<EOL><DEDENT>elif action['<STR_LIT:type>'] == '<STR_LIT:float>':<EOL><INDENT>if '<STR_LIT>' in action:<EOL><INDENT>distributions[name] = Beta(<EOL>shape=action['<STR_LIT>'],<EOL>min_value=action['<STR_LIT>'],<EOL>max_value=action['<STR_LIT>'],<EOL>scope=name,<EOL>summary_labels=self.summary_labels<EOL>)<EOL><DEDENT>else:<EOL><INDENT>distributions[name] = Gaussian(<EOL>shape=action['<STR_LIT>'],<EOL>scope=name,<EOL>summary_labels=self.summary_labels<EOL>)<EOL><DEDENT><DEDENT><DEDENT>return distributions<EOL>
Creates and returns the Distribution objects based on self.distributions_spec.

Returns: Dict of distributions according to self.distributions_spec.