from dqn_agent import Agent
from model import QNetwork
import matplotlib.pyplot as plt
from openpyxl import load_workbook
import numpy as np
import torch
import xlrd
from openpyxl import load_workbook
import gc
import pandas as pd
STATE_SIZE = 10
EPISODE_COUNT = 1000
def dqn1(n_episodes1=EPISODE_COUNT, eps_start1=1.0, eps_end1=0.01, eps_decay1=0.9995):
scores1 = []
for i_episode in range(1,n_episodes1+1):
print("Episode" + str(i_episode))
state = getState(stockData, 0, STATE_SIZE + 1)
agent.inventory = []
eps = eps_start1
#global loss
print(1)
for t in range(l):
print(2)
action = agent.act(state,eps)
print(1)
next_state = getState(stockData, t + 1, STATE_SIZE + 1)
reward = 0
done = 1 if t == l - 1 else 0
global loss
loss = agent.step(state, action, reward, next_state, done)
print("loss", + str(loss))
scores1.append(loss)
gc.collect()
gc.collect()
return scores1
def getState(data, t, n):
d = t - n + 1
block = data[d:t + 1]
buffer = []
print(12345)
for i in range(len(block)):
print("res=",buffer[i])
buffer.append(block[i + 1]-block[i])
#print("res=",res[i])
return np.array([buffer])
#return np.array([res])
if __name__== '__main__':
print(1)
stockData = [None]*3024
#stockData = []
#datas1 =xlrd.open_workbook(r'C:\Users\86138\Desktop\zi_ding_yi.xlsx',{'constant_memory':True})
# datas1 = xlrd.open_workbook('zi_ding_yi.xlsx')
datas1 = load_workbook('zi_ding_yi.xlsx')
print(2)
table = datas1.get_sheet_by_name('Sheet1')
row_num = 0
print(3)
print(table)
# col = table.col_values(5)
# print(col)
while row_num <= 3024:
row_num = row_num + 1
stockData.append(table.cell(row=row_num,column=5).value)
print("stockData[row_num]", stockData[row_num])
# while row_num <= 800 :
# stockData.append(table.cell_value(row_num,5))
# row_num += 1
# print("stockData[row_num]",stockData[row_num])
agent = Agent(state_size=STATE_SIZE, action_size=3)
print(4)
l = len(stockData)
# scores = dqn()
scores1 =dqn1()
我在
state = getState(stockData, 0, STATE_SIZE + 1)
这一条加了个断点。
然后运行结果是
C:\Users\86138\anaconda3\python.exe "D:\pycharm\PyCharm Community Edition 2020.2.2\plugins\python-ce\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 64243 --file C:/Users/86138/Desktop/stockPrediction-master/yunfuzai_main.py
pydev debugger: process 22548 is connecting
Connected to pydev debugger (build 202.7319.64)
1
2
3
<Worksheet "Sheet1">
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
s
stockData[row_num] 4155527081
stockData[row_num] 329150663
4
Episode1
Backend Qt5Agg is interactive backend. Turning interactive mode on.
我尝试过,读取excel数据是没有问题的,但是就是这个stockData是没有办法加进来,我就想问问,到底是怎么回事,想请各位大神帮帮我