我有以下用于训练 A3C 的训练函数代码。我陷入了以下错误。
RuntimeError("grad can be implicitly created only for scalar outputs")
Run Code Online (Sandbox Code Playgroud)
在线(policy_loss + 0.5 * value_loss).backward()
这是我的代码,有人可以帮忙检查一下这段代码有什么问题吗?
def train(rank, params, shared_model, optimizer,ticker):
torch.manual_seed(params.seed + rank) # shifting the seed with rank to asynchronize each training agent
print(ticker)
try:
ohlcv = pd.read_csv(ticker + '.csv')
data = ohlcv.copy()
data['rsi'] = ab.RSI(data['Close'],14)
data['adx'] = ab.ADX(data,20)
data = ab.BollBnd(data,20)
data['BBr'] = data['Close']/data['BB_dn']
data['macd_signal'] = ab.MACD(data)
data['macd_r'] = data['macd_signal']/data['Close']
data['ema20'] = ab.EMA(np.asarray(data['Close']), 20)
data['ema20_r'] = data['ema20']/data['Close']
data['Close'] = data['Close']/data['Close'].max()
data = data.iloc[:,[4,7,8,13,15,17]]
data …Run Code Online (Sandbox Code Playgroud)