Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 观察规格和动作规格为2D矩阵的TF规格代理_Python_Tensorflow_Keras_Deep Learning_Dqn - Fatal编程技术网

Python 观察规格和动作规格为2D矩阵的TF规格代理

Python 观察规格和动作规格为2D矩阵的TF规格代理,python,tensorflow,keras,deep-learning,dqn,Python,Tensorflow,Keras,Deep Learning,Dqn,我正在尝试与自定义环境一起使用,以构建执行以下操作的代理: 代理通过向大量用户(10个用户)提供资源(12个资源)来为他们提供服务 它接收一个输入(观察/状态),该输入是0和1的2D矩阵;假设它有10行(用户数)和3列。如果某一行的某一列的值为1,则表示必须将资源分配给该行的用户 观察(状态)矩阵示例: 这意味着(例如)位于行[1]的用户需要一个资源。(用户1) 输出也是0和1的2D矩阵,有12行(资源数量)和10列(用户数量) 如果资源0被分配给(比如)用户1,那么输出矩阵中的第

我正在尝试与自定义环境一起使用,以构建执行以下操作的代理:

  • 代理通过向大量用户(10个用户)提供资源(12个资源)来为他们提供服务

  • 它接收一个输入(观察/状态),该输入是0和1的2D矩阵;假设它有10行(用户数)和3列。如果某一行的某一列的值为1,则表示必须将资源分配给该行的用户

观察(状态)矩阵示例:

  • 这意味着(例如)位于
    行[1]
    的用户需要一个资源。(用户1)

  • 输出也是0和1的2D矩阵,有12行(资源数量)和10列(用户数量)

  • 如果资源0被分配给(比如)用户1,那么输出矩阵中的第一行将具有值为1的第二列<代码>行[0][1]

  • 每个资源一次只能分配给一个用户,每个用户一次只能分配一个资源。(这意味着每一行只有一列的值为1,而整个矩阵中的每一列只能有一行的值为1 |例如:第一行的第一列和第二行的第一列的值均为1,其中一列必须为1,其他列都必须为0)

行动矩阵示例:

[
[0, 1, 0, 0, ...],
[0, 0, 0, 0, ...],
[1, 0, 0, 0, ...],
[0, 0, 0, 1, ...],
...
]
  • 在上面的示例中,第一行在第二列中有1(
    行[0][1]
    ),这意味着第二个用户,即用户1,被分配了资源0,如果我们验证输入矩阵,我们确实会看到用户1(
    行[1]
    )请求分配资源

  • 如果用户没有请求资源,则不应向该用户提供任何资源

我不知道如何为这个定制环境初始化tf_代理的观察规范和操作规范

我不确定TFU代理是否是最好的方法

我刚刚开始深入学习,从头开始为这种定制环境构建神经网络非常令人困惑

[
[0, 1, 0, 0, ...],
[0, 0, 0, 0, ...],
[1, 0, 0, 0, ...],
[0, 0, 0, 1, ...],
...
]