小编I'm*_*hdi的帖子

对于异常程序,如果没有获得所需的输出,如何在使用 Python 尝试最多 3 次后退出程序?

对于异常程序,如果没有获得所需的输出,如何在使用 Python 尝试最多 3 次后退出程序?

while True:
         try:
            x = int(input("Please enter a number: "))
            break
         #except Exception as e:
         #     print (e)
         except ValueError:
             print ("You have entered the non-numeric value. Enter the numerical value.")
         except KeyboardInterrupt:
             print ("\nYou have press Ctr+C.")
             exit (1)
Run Code Online (Sandbox Code Playgroud)

python exception

5
推荐指数
1
解决办法
487
查看次数

Keras:AttributeError:“Adam”对象没有属性“_name”

我想编译我的 DQN 代理,但出现错误: AttributeError: 'Adam' object has no attribute '_name'

DQN = buildAgent(model, actions)
DQN.compile(Adam(lr=1e-3), metrics=['mae'])
Run Code Online (Sandbox Code Playgroud)

我尝试添加假的_name,但它不起作用,我正在遵循教程并且它可以在导师的机器上运行,这可能是一些新的更新更改,但如何解决这个问题

这是我的完整代码:

from keras.layers import Dense, Flatten
import gym
from keras.optimizer_v1 import Adam
from rl.agents.dqn import DQNAgent
from rl.policy import BoltzmannQPolicy
from rl.memory import SequentialMemory

env = gym.make('CartPole-v0')
states = env.observation_space.shape[0]
actions = env.action_space.n

episodes = 10

def buildModel(statez, actiones):
    model = Sequential()
    model.add(Flatten(input_shape=(1, statez)))
    model.add(Dense(24, activation='relu'))
    model.add(Dense(24, activation='relu'))
    model.add(Dense(actiones, activation='linear'))
    return model

model = buildModel(states, actions)

def buildAgent(modell, actionz):
    policy …
Run Code Online (Sandbox Code Playgroud)

python reinforcement-learning keras tensorflow

5
推荐指数
1
解决办法
9906
查看次数

将 PyTorch 张量分割成重叠的块

给定一批形状为 (batch, c, h, w) 的图像,我想将其重塑为 (-1, 深度, c, h, w),使得大小为 d 的第 i 个“块”包含帧 i -> i+d。基本上,使用 .view(-1, d, c, h, w) 会将张量重塑为 d 大小的块,其中第一个图像的索引将是 d 的倍数,这不是我想要的。

标量示例:

如果原始张量类似于:

[1,2,3,4,5,6,7,8,9,10,11,12] and d is 2; 
Run Code Online (Sandbox Code Playgroud)

view()会返回:[[1,2],[3,4],[5,6],[7,8],[9,10],[11,12]];

但是,我想得到:

[[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8],[8,9],[9,10],[10,11],[11,12]]
Run Code Online (Sandbox Code Playgroud)

我编写了这个函数来做到这一点:

def chunk_slicing(data, depth):
    output = []
    for i in range(data.shape[0] - depth+1):
        temp = data[i:i+depth]
        output.append(temp)
    return torch.Tensor(np.array([t.numpy() for t in output]))
Run Code Online (Sandbox Code Playgroud)

但是我需要一个可用作 PyTorch 模型一部分的函数,因为此函数会导致此错误:

RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead.
Run Code Online (Sandbox Code Playgroud)

python pytorch tensor

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

按数字字母分割

我想将 'E100N05' 拆分为 ['E100', 'N05'] ,因此在数字变成字母 N、E、S 或 W 后进行拆分。字母后面的位数可以不同。

import re
re.split('[NSEW$*]', 'E100N05')
Out[8]: ['', '100', '05']

What I want : ['E100','N05']
Run Code Online (Sandbox Code Playgroud)

我应该使用哪种模式?

python regex string python-3.x python-re

2
推荐指数
1
解决办法
54
查看次数

将字典键元组转换为字符串

我有一本字典

dicts = {('name1','name2','name3'): Engineer}
Run Code Online (Sandbox Code Playgroud)

我想将键(即元组)作为一个字符串,这样我的输出可能如下所示:

dicts = {'name1,name2,name3': Engineer}
Run Code Online (Sandbox Code Playgroud)

任何想法?

python dictionary tuples

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