def _init_hashtables(self): """ Initialize the hash tables such that each record will be in the form of "[storage1, storage2, ...]" """ self.hash_tables = [ storage(self.storage_config, i) for i in range(self.num_hashtables) ]
def __init__(self, params): print 'initializing......' self.params = params self.sess = tf.Session() self.storage = storage(self.params['db_size'], self.params['input_dims_proc']) self.engine = emulator(rom_name='breakout.bin', vis=True) self.params['num_act'] = len(self.engine.legal_actions) self.build_nets() self.Q_global = 0 self.cost_disp = 0
def test(epoch): global best_acc net.eval() test_loss = 0 correct = 0 total = 0 with torch.no_grad(): for batch_idx, (inputs, targets) in enumerate(testloader): inputs, targets = inputs.to(device), targets.to(device) outputs, sec_out, sec_in = net(inputs) loss = criterion(outputs, targets) test_loss += loss.item() _, predicted = outputs.max(1) total += targets.size(0) correct += predicted.eq(targets).sum().item() progress_bar( batch_idx, len(testloader), 'Loss: %.3f | Acc: %.3f%% (%d/%d)' % (test_loss / (batch_idx + 1), 100. * correct / total, correct, total)) # Save checkpoint. acc = 100. * correct / total if acc > best_acc: print('Saving..') state = { 'net': net.state_dict(), 'acc': acc, 'epoch': epoch, } if not os.path.isdir('checkpoint'): os.mkdir('checkpoint') torch.save(state, './checkpoint/ckpt.t7') best_acc = acc if acc > 50: all_train_loader = chain(trainloader, extraloader) storage(all_train_loader, 'train') storage(testloader, 'test')
def pic_info(): """图片上传""" user = g.user print(user, "图片上传") if request.method == "GET": if not user: return redirect('/') data = {'user_info': user.to_dict() if user else None} return render_template('news/user_pic_info.html', data=data) avatar = request.files.get('avatar') if not avatar: return jsonify(errno=RET.PARAMERR, errmsg='请传入图片') image = avatar.read() key = storage(image) if not key: return jsonify(errno=RET.THIRDERR, errmsg='第三方系统出现问题') user.avatar_url = key db.session.commit() data = {'avatar_url': QINIU_DOMIN_PREFIX + key} return jsonify(errno=RET.OK, errmsg='设置成功', data=data)
def __init__(self): solarData = np.empty(0) reactorData = np.empty(0) hotT = 863 coldT = 563 # import solar and reactor mass flow rate data with open('SolarNew.csv', newline='') as Solar: reader = csv.DictReader(Solar) for row in reader: solarData = np.append(solarData, row) with open('ReactorNew.csv', newline='') as Reactor: reader = csv.DictReader(Reactor) for row in reader: reactorData = np.append(reactorData, row) # set steam generator mass flow rate m_SteamGen = 1500 # creat array to hold stored energy amounts energy = np.array([]) # assume thermocline is initially in average position thermocline_position = 5 # loop through 7 days, with 144 10 min intervals per day k=0 for j in range(7): for i in range(1440): solar = solarData[i] m_Solar = float(solar['Mass flow rate']) reactor = reactorData[i] m_Reactor = float(reactor['Mass flow rate']) m_HOT = m_Solar + m_Reactor m_COLD = m_SteamGen print(m_HOT) TankStorage = storage(hotT, coldT, m_HOT, m_COLD, 30, 2.5, 0.026, thermocline_position=thermocline_position) if k % 500 == 0: fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.bar(0, TankStorage.thermocline_location, 0.4, color='b') ax.bar(0, TankStorage.thermocline_height, 0.4, bottom=TankStorage.thermocline_location, color='rebeccapurple') ax.bar(0, 10-(TankStorage.thermocline_location+TankStorage.thermocline_height), 0.4,bottom=TankStorage.thermocline_location+TankStorage.thermocline_height, color='r') ax.set_ylabel('Hot and Cold Storage') ax.yaxis.set_major_formatter(mtick.PercentFormatter(10)) label1 = 'Day: '+str(j+1) if i < 60: label2 = 'Time: 12:'+str(i%60).zfill(2)+' AM' elif 60 <= i < 720: label2 = 'Time: '+str(int(i/60)).zfill(2)+':'+str(i%60).zfill(2)+' AM' elif 720 <= i < 780: label2 = 'Time: '+str(int(i/60)).zfill(2)+':'+str(i%60).zfill(2)+' AM' else: label2 = 'Time: '+str(int((i/60))-12).zfill(2)+':'+str(i%60).zfill(2)+' PM' label3 = 'Stored Energy: ' + str(round(TankStorage.energy_stored)) +' MWh' ax.set_xlabel(label1+'\n'+label2+'\n'+label3) ax.set_title('Thermal Energy Storage Tank') ax.set_xticks([]) ax.set_yticks([0,1,2,3,4,5,6,7,8,9,10]) filename = os.getcwd()+'\\graphs\\tank'+str(k)+'.png' #plt.savefig(filename, dpi=250, bbox_inches='tight') plt.show() energy = np.append(energy, TankStorage.energy_stored) thermocline_position = TankStorage.thermocline_location area = TankStorage.Area k+=1 # Create .gif # frames = [] # imgs = sorted(glob.glob('**/*.png', recursive=True), key=os.path.getmtime) # for i in imgs: # nf = Image.open(i) # frames.append(nf) # frames[0].save('tank.gif', format='GIF', append_images=frames[1:],save_all=True, duration=200, loop=0) # # Show stored energy graph fig2 = plt.figure() ax = fig2.add_axes([0,0,1,1]) ax.plot(np.arange(10080), energy) ax.set_xlabel('Time (hr)') ax.set_ylabel('Energy Stored (MWh)') ax.set_title('Energy Stored over 1 week') ax.set_xlim(left=0,right=10090) plt.savefig('exergy-1week.png', dpi=250, bbox_inches='tight') plt.show() # Energy Stored at 10 min intervals over 1 week: self.StoredEnergy = energy self.hotT = hotT self.coldT = coldT self.massflowrate = m_SteamGen