Python chainer.functions.flatten() Examples
The following are 8
code examples of chainer.functions.flatten().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
chainer.functions
, or try the search function
.
Example #1
Source File: network.py From chainer-PGGAN with MIT License | 6 votes |
def __call__(self, x, alpha=1.0): if self.depth > 0 and alpha < 1: h1 = self['b%d'%(7-self.depth)](x, True) x2 = F.average_pooling_2d(x, 2, 2) h2 = F.leaky_relu(self['b%d'%(7-self.depth+1)].fromRGB(x2)) h = h2 * (1 - alpha) + h1 * alpha else: h = self['b%d'%(7-self.depth)](x, True) for i in range(self.depth): h = self['b%d'%(7-self.depth+1+i)](h) h = self.l(h) h = F.flatten(h) return h
Example #2
Source File: soft_actor_critic.py From chainerrl with MIT License | 5 votes |
def update_q_func(self, batch): """Compute loss for a given Q-function.""" batch_next_state = batch['next_state'] batch_rewards = batch['reward'] batch_terminal = batch['is_state_terminal'] batch_state = batch['state'] batch_actions = batch['action'] batch_discount = batch['discount'] with chainer.no_backprop_mode(), chainer.using_config('train', False): next_action_distrib = self.policy(batch_next_state) next_actions, next_log_prob =\ next_action_distrib.sample_with_log_prob() next_q1 = self.target_q_func1(batch_next_state, next_actions) next_q2 = self.target_q_func2(batch_next_state, next_actions) next_q = F.minimum(next_q1, next_q2) entropy_term = self.temperature * next_log_prob[..., None] assert next_q.shape == entropy_term.shape target_q = batch_rewards + batch_discount * \ (1.0 - batch_terminal) * F.flatten(next_q - entropy_term) predict_q1 = F.flatten(self.q_func1(batch_state, batch_actions)) predict_q2 = F.flatten(self.q_func2(batch_state, batch_actions)) loss1 = 0.5 * F.mean_squared_error(target_q, predict_q1) loss2 = 0.5 * F.mean_squared_error(target_q, predict_q2) # Update stats self.q1_record.extend(cuda.to_cpu(predict_q1.array)) self.q2_record.extend(cuda.to_cpu(predict_q2.array)) self.q_func1_loss_record.append(float(loss1.array)) self.q_func2_loss_record.append(float(loss2.array)) self.q_func1_optimizer.update(lambda: loss1) self.q_func2_optimizer.update(lambda: loss2)
Example #3
Source File: td3.py From chainerrl with MIT License | 5 votes |
def update_q_func(self, batch): """Compute loss for a given Q-function.""" batch_next_state = batch['next_state'] batch_rewards = batch['reward'] batch_terminal = batch['is_state_terminal'] batch_state = batch['state'] batch_actions = batch['action'] batch_discount = batch['discount'] with chainer.no_backprop_mode(), chainer.using_config('train', False): next_actions = self.target_policy_smoothing_func( self.target_policy(batch_next_state).sample().array) next_q1 = self.target_q_func1(batch_next_state, next_actions) next_q2 = self.target_q_func2(batch_next_state, next_actions) next_q = F.minimum(next_q1, next_q2) target_q = batch_rewards + batch_discount * \ (1.0 - batch_terminal) * F.flatten(next_q) predict_q1 = F.flatten(self.q_func1(batch_state, batch_actions)) predict_q2 = F.flatten(self.q_func2(batch_state, batch_actions)) loss1 = F.mean_squared_error(target_q, predict_q1) loss2 = F.mean_squared_error(target_q, predict_q2) # Update stats self.q1_record.extend(cuda.to_cpu(predict_q1.array)) self.q2_record.extend(cuda.to_cpu(predict_q2.array)) self.q_func1_loss_record.append(float(loss1.array)) self.q_func2_loss_record.append(float(loss2.array)) self.q_func1_optimizer.update(lambda: loss1) self.q_func2_optimizer.update(lambda: loss2)
Example #4
Source File: trpo.py From chainerrl with MIT License | 5 votes |
def _flatten_and_concat_variables(vs): """Flatten and concat variables to make a single flat vector variable.""" return F.concat([F.flatten(v) for v in vs], axis=0)
Example #5
Source File: agents.py From EPG with MIT License | 5 votes |
def _compute_ppo_loss(self, obs, acts, at, vt, old_params): params = self._pi_f(obs) cv = F.flatten(self._vf_f(obs)) ratio = F.exp(self._logp(params, acts) - self._logp(old_params, acts)) surr1 = ratio * at surr2 = F.clip(ratio, 1 - self._ppo_clipparam, 1 + self._ppo_clipparam) * at ppo_surr_loss = ( -sym_mean(F.minimum(surr1, surr2)) + self._ppo_klcoeff * sym_mean(self.kl(old_params, params)) + sym_mean(F.square(cv - vt)) ) return ppo_surr_loss
Example #6
Source File: test_flatten.py From chainer with MIT License | 5 votes |
def forward_expected(self, inputs): x, = inputs return x.flatten(),
Example #7
Source File: test_flatten.py From chainer with MIT License | 5 votes |
def forward(self, inputs, device): x, = inputs y = functions.flatten(x) return y,
Example #8
Source File: multibox_loss.py From chainercv with MIT License | 5 votes |
def _elementwise_softmax_cross_entropy(x, t): assert x.shape[:-1] == t.shape shape = t.shape x = F.reshape(x, (-1, x.shape[-1])) t = F.flatten(t) return F.reshape( F.softmax_cross_entropy(x, t, reduce='no'), shape)