originalScreen = [] # 각 맵의 스크린 wdList = [] # 각 맵에서 wireless device의 위치를 저장한 배열, [[wd0Y, wd0X], [wd1Y, wd1X], ..., [wd(n-1)Y, wd(n-1)X]] # 출력 정보 optiY = [] # 각 맵에서 throughput (sum 또는 common)이 최대가 되는 HAP의 y좌표 optiX = [] # 각 맵에서 throughput (sum 또는 common)이 최대가 되는 HAP의 x좌표 # 평가 결과 저장 RL = [] # 1. 트레이닝 및 테스트용 맵 생성 # 맵의 구성: .(공간), H(HAP), W(wireless device) if readOrWrite == 1: # 맵 파일 쓰고 그 맵으로 트레이닝, 테스트 print('generating maps...') for i in range(numTrain + numTest): initScreen_ = WPCN_helper_REAL.initScreen(size, False) originalScreen.append(initScreen_[0]) wdList.append(initScreen_[2]) # 맵 파일 작성 f = open('DL_WPCN_' + ('0' if i < 1000 else '') + ('0' if i < 100 else '') + ('0' if i < 10 else '') + str(i) + '.txt', 'w') for j in range(size): for k in range(size): if originalScreen[i][j][k] == -1: f.write('W') # wireless device elif originalScreen[i][j][k] == 0: f.write('.') # space elif originalScreen[i][j][k] == 1: f.write('H') # HAP (not exist in the original map) f.write('\n') f.close() else: # 기존 맵 파일 읽어서 기존 맵으로 트레이닝, 테스트
file.close() # 입력 정보 originalScreen = [] # 각 맵의 스크린 wdList = [] # 각 맵에서 wireless device의 위치를 저장한 배열, [[wd0Y, wd0X], [wd1Y, wd1X], ..., [wd(n-1)Y, wd(n-1)X]] # 평가 결과 저장 RL = [] # 1. 테스트용 맵 생성 # 맵의 구성: .(공간), H(HAP), W(wireless device) if readOrWrite == 1: # 맵 파일을 쓰고 그 맵으로 테스트 print('generating maps...') for i in range(numTest): initScreen_ = WPCN_helper_REAL.initScreen(size, False) originalScreen.append(initScreen_[0]) wdList.append(initScreen_[2]) # 맵 파일 작성 f = open('originalMaps/DL_WPCN_' + ('0' if i < 1000 else '') + ('0' if i < 100 else '') + ('0' if i < 10 else '') + str(i) + '.txt', 'w') for j in range(size): for k in range(size): if originalScreen[i][j][k] == -1: f.write('W') # wireless device elif originalScreen[i][j][k] == 0: f.write('.') # space elif originalScreen[i][j][k] == 1: f.write('H') # HAP (not exist in the original map) f.write('\n') f.close() else: # 기존 맵 파일 읽어서 기존 맵으로 테스트