小编tk3*_*338的帖子

Angular Material 拖放多个元素

我正在尝试使用 cdk 实现多项目拖放。
我不知道如何解决选择多个项目并开始拖动时的预览问题。
我已经解决了打字稿中的多项目行为。
我不知道如何修复 html 和 css 中的预览。

单品预览一切都好

在此输入图像描述

单项 html

  <div cdkDropList class="list" (cdkDropListDropped)="drop($event)">
    <div
      [ngClass]="movie.checked ?  'item-selected' : 'item'"
      *ngFor="let movie of (movies$ | async); let i = index"
      cdkDrag
      (click)="onTouch($event, i)"
    >
      <div class="item-placeholder" *cdkDragPlaceholder>{{movie.name}}</div>
      {{movie.name}}
    </div>
  </div>
Run Code Online (Sandbox Code Playgroud)


多项目预览错误

在此输入图像描述

  <div cdkDropList class="list" (cdkDropListDropped)="drop($event)">
    <div
      [ngClass]="movie.checked ?  'item-selected' : 'item'"
      *ngFor="let movie of (movies$ | async); let i = index"
      cdkDrag
      (click)="onTouch($event, i)"
      (cdkDragStarted)="dragStarted($event, i)"
    >
      <div class="item-placeholder" *cdkDragPlaceholder>
        <ng-container *ngIf="(selectedMovies$ | async).length > 0 else …
Run Code Online (Sandbox Code Playgroud)

html css angular-material angular

6
推荐指数
0
解决办法
6192
查看次数

Eager tf.GradientTape() 只返回 Nones

我尝试在 Eager 模式下使用 Tensorflow 计算梯度,但 tf.GradientTape () 仅返回 None 值。我不明白为什么。梯度在 update_policy() 函数中计算。

该行的输出:

grads = tape.gradient(loss, self.model.trainable_variables)
Run Code Online (Sandbox Code Playgroud)

{list}<class 'list'>:[None, None, ... ,None]
Run Code Online (Sandbox Code Playgroud)

这是代码。

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session

import numpy as np

tf.enable_eager_execution()
print(tf.executing_eagerly())

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
set_session(sess)


class PGEagerAtariNetwork:
    def __init__(self, state_space, action_space, lr, gamma):
        self.state_space = state_space
        self.action_space = action_space
        self.gamma = gamma

        self.model = tf.keras.Sequential()
        # Conv
        self.model.add(
            tf.keras.layers.Conv2D(filters=32, kernel_size=[8, 8], strides=[4, 4], activation='relu',
                                   input_shape=(84, 84, 4,), …
Run Code Online (Sandbox Code Playgroud)

tensorflow

3
推荐指数
1
解决办法
3311
查看次数

具有离散动作空间的软演员评论家

我正在尝试为离散动作空间实现软演员评论家算法,但我在损失函数方面遇到了麻烦。

这是来自 SAC 的具有连续动作空间的链接:https : //spinningup.openai.com/en/latest/algorithms/sac.html

我不知道我做错了什么。

问题是网络在cartpole环境中没有学到任何东西。

github上的完整代码:https : //github.com/tk2232/sac_discrete/blob/master/sac_discrete.py

这是我的想法,如何计算离散动作的损失。

价值网络

class ValueNet:
    def __init__(self, sess, state_size, hidden_dim, name):
        self.sess = sess

        with tf.variable_scope(name):
            self.states = tf.placeholder(dtype=tf.float32, shape=[None, state_size], name='value_states')
            self.targets = tf.placeholder(dtype=tf.float32, shape=[None, 1], name='value_targets')
            x = Dense(units=hidden_dim, activation='relu')(self.states)
            x = Dense(units=hidden_dim, activation='relu')(x)
            self.values = Dense(units=1, activation=None)(x)

            optimizer = tf.train.AdamOptimizer(0.001)

            loss = 0.5 * tf.reduce_mean((self.values - tf.stop_gradient(self.targets)) ** 2)
            self.train_op = optimizer.minimize(loss, var_list=_params(name))

    def get_value(self, s):
        return self.sess.run(self.values, feed_dict={self.states: s})

    def update(self, s, targets):
        self.sess.run(self.train_op, …
Run Code Online (Sandbox Code Playgroud)

python machine-learning reinforcement-learning tensorflow

0
推荐指数
1
解决办法
3856
查看次数