def create_threads(detector): config = configparser.ConfigParser() config.read(FACE_DETEC_CONF) video_decoders = [] for item in config['videostream']: preprocesser = Preprocess(config['videostream'][item], len(video_decoders), MODEL_WIDTH, MODEL_HEIGHT) video_decoders.append(preprocesser) rtsp_num = len(video_decoders) if rtsp_num == 0: log_error("No video stream name or addr configuration in ", FACE_DETEC_CONF) return None, None postprocessor = Postprocess(detector) display_channel = int(config['display']['channel']) if (display_channel is None) or (display_channel >= rtsp_num): log_info("No video to display, display configuration: ", config['display']['channel']) else: video_decoders[display_channel].set_display(True) ret = postprocessor.create_presenter_channel(FACE_DETEC_CONF) if ret == False: log_error("Create presenter channel failed") return None, None return video_decoders, postprocessor
def run_single_block(input_list): baseName,model,out_dir,rst,window,keep_temp,threshold,penality,DB_file,input_file,chromosome,strand,fa_file,depth,start,end = input_list print("Generating blocks ...%s %d %s"%(baseName,start,end)) ####Generate sliding windlows gw_start_time = datetime.datetime.now() block = split_chr_bedGraph2(out_dir,input_file,chromosome,strand,window,fa_file,depth,start,end) #ww = open(baseName,'w') #for a,b,c in block: # ww.write('%s\t%s\t%s\n'%(a,b,c)) #ww.close() gw_end_time = datetime.datetime.now() print("Generate blocks used time: {}".format(gw_end_time - gw_start_time)) print("Evaluating blocks ...%s %d %s"%(baseName,start,end)) gw_start_time = datetime.datetime.now() Evaluate(baseName,block,model,out_dir,rst,window,keep_temp) gw_end_time = datetime.datetime.now() print("Evaluated blocks used time: {}".format(gw_end_time - gw_start_time)) Scan_Forward(baseName,threshold,penality,out_dir) Scan_Backward(baseName,threshold,penality,out_dir) if(keep_temp != 'yes'): predict_file = out_dir+'/predict/'+baseName+'.txt' os.system('rm %s'%predict_file) Postprocess(DB_file,baseName,threshold,penality,out_dir) if(keep_temp != 'yes'): forward_file=out_dir+"/maxSum/%s.forward.%d.%d.txt"%(baseName,threshold,penality) backward_file=out_dir+"/maxSum/%s.backward.%d.%d.txt"%(baseName,threshold,penality) os.system('rm %s %s'%(forward_file,backward_file)) print('Finished postprocessing...\n')
def run_single_block(input_list): data = input_list[0] model = input_list[1] out_dir = input_list[2] rst = input_list[3] window = input_list[4] keep_temp = input_list[5] threshold = input_list[6] penality = input_list[7] DB_file = input_list[8] if 'wig' not in data: baseName = data.split('/')[-1] Evaluate(model, out_dir, rst, window, baseName, keep_temp) Scan_Forward(baseName, threshold, penality, out_dir) Scan_Backward(baseName, threshold, penality, out_dir) if (keep_temp != 'yes'): predict_file = out_dir + '/predict/' + baseName + '.txt' os.system('rm %s' % predict_file) Postprocess(DB_file, baseName, threshold, penality, out_dir) if (keep_temp != 'yes'): forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % ( baseName, threshold, penality) backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % ( baseName, threshold, penality) os.system('rm %s %s' % (forward_file, backward_file)) print('Finished postprocessing...\n')
def run_single_block(input_list): #global ref #print(ref.keys()) baseName, model, out_dir, rst, window, keep_temp, threshold, penality, DB_file, input_file, fa_file, chromosome, strand, depth, start, end = input_list #log_dir = out_dir+'/log' #if not os.path.exists(log_dir): # os.makedirs(log_dir) #log.basicConfig(filename='%s/%s.log'%(log_dir,baseName), level=log.INFO) print("Generating blocks ...%s %d %s" % (baseName, start, end)) ####Generate sliding windlows gw_start_time = datetime.datetime.now() block = split_chr_bedGraph2(out_dir, input_file, chromosome, strand, window, fa_file, depth, start, end) #ww = open(baseName,'w') #for a,b,c in block: # ww.write('%s\t%s\t%s\n'%(a,b,c)) #ww.close() gw_end_time = datetime.datetime.now() print("Generate blocks used time: {}\n".format(gw_end_time - gw_start_time)) print("Evaluating blocks ...%s %d %s" % (baseName, start, end)) ev_start_time = datetime.datetime.now() Evaluate(baseName, block, model, out_dir, rst, window, keep_temp) del block #destroyed the block reference gc.collect() #manually run garbage collection process ev_end_time = datetime.datetime.now() print("Evaluated blocks used time: {}\n".format(ev_end_time - ev_start_time)) print("Postprocessing blocks ...%s %d %s" % (baseName, start, end)) ps_start_time = datetime.datetime.now() Scan_Forward(baseName, threshold, penality, out_dir) Scan_Backward(baseName, threshold, penality, out_dir) if (keep_temp != 'yes'): predict_file = out_dir + '/predict/' + baseName + '.txt' os.system('rm %s' % predict_file) Postprocess(DB_file, baseName, threshold, penality, out_dir) ps_end_time = datetime.datetime.now() print("Postprocessed blocks used time: {}\n".format(ps_end_time - ps_start_time)) if (keep_temp != 'yes'): forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % ( baseName, threshold, penality) backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % ( baseName, threshold, penality) os.system('rm %s %s' % (forward_file, backward_file)) #print('Finished postprocessing...%s\n'%baseName) return [ gw_end_time - gw_start_time, ev_end_time - ev_start_time, ps_end_time - ps_start_time ]
def run_single_block(input_list): baseName, model, out_dir, rst, window, keep_temp, threshold, penality, DB_file, input_file, strand, depth, block_pos = input_list chromosome = block_pos[3] start = block_pos[4] end = block_pos[5] print("Generating blocks ...%s %d %s" % (baseName, block_pos[4], block_pos[5])) ####Generate sliding windlows gw_start_time = datetime.datetime.now() blocks = Bedgraph_to_blocks(input_file, fa_file, window, depth, block_pos) #ww = open(baseName,'w') #for a,b,c in blocks: # ww.write('%s\t%s\t%s\n'%(a,b,c)) #ww.close() gw_end_time = datetime.datetime.now() print("Generate blocks used time: {}\n".format(gw_end_time - gw_start_time)) print("Evaluating blocks ...%s %d %s" % (baseName, start, end)) ev_start_time = datetime.datetime.now() Evaluate(baseName, blocks, model, out_dir, rst, window, keep_temp) del blocks #destroyed the block reference gc.collect() #manually run garbage collection process ev_end_time = datetime.datetime.now() print("Evaluated blocks used time: {}\n".format(ev_end_time - ev_start_time)) print("Postprocessing blocks ...%s %d %s" % (baseName, start, end)) ps_start_time = datetime.datetime.now() Scan_Forward(baseName, threshold, penality, out_dir) Scan_Backward(baseName, threshold, penality, out_dir) if (keep_temp != 'yes'): predict_file = out_dir + '/predict/' + baseName + '.txt' os.system('rm %s' % predict_file) Postprocess(DB_file, baseName, threshold, penality, out_dir) ps_end_time = datetime.datetime.now() print("Postprocessed blocks used time: {}\n".format(ps_end_time - ps_start_time)) if (keep_temp != 'yes'): forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % ( baseName, threshold, penality) backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % ( baseName, threshold, penality) os.system('rm %s %s' % (forward_file, backward_file)) #print('Finished postprocessing...%s\n'%baseName) return [ gw_end_time - gw_start_time, ev_end_time - ev_start_time, ps_end_time - ps_start_time ]
def create_threads(detector): """create threads""" config = configparser.ConfigParser() config.read(COCO_DETEC_CONF) video_decoders = [] for item in config['videostream']: preprocesser = Preprocess(config['videostream'][item], len(video_decoders), MODEL_WIDTH, MODEL_HEIGHT) video_decoders.append(preprocesser) rtsp_num = len(video_decoders) if rtsp_num == 0: log_error("No video stream name or addr configuration in ", COCO_DETEC_CONF) return None, None postprocessor = Postprocess(detector) return video_decoders, postprocessor
def main(out_dir, input_file, input_plus, input_minus, fa_file, keep_temp, window, name, model, rst, threshold, penality, DB_file): if not os.path.exists(out_dir): os.makedirs(out_dir) out_dir = out_dir + '/' + name ####Generate sliding windlows Generate_windows(out_dir, input_file, input_plus, input_minus, fa_file, keep_temp, window, name) data_dir = out_dir + '/data' data_files = glob.glob(data_dir + "/*") for data in data_files: if 'wig' in data: continue baseName = data.split('/')[-1] Evaluate(model, out_dir, rst, window, baseName, keep_temp) Scan_Forward(baseName, threshold, penality, out_dir) Scan_Backward(baseName, threshold, penality, out_dir) if (keep_temp != 'yes'): predict_file = out_dir + '/predict/' + baseName + '.txt' os.system('rm %s' % predict_file) Postprocess(DB_file, baseName, threshold, penality, out_dir) if (keep_temp != 'yes'): forward_file = out_dir + "/maxSum/%s.forward.%d.%d.txt" % ( baseName, threshold, penality) backward_file = out_dir + "/maxSum/%s.backward.%d.%d.txt" % ( baseName, threshold, penality) os.system('rm %s %s' % (forward_file, backward_file)) out_file = '%s/%s.predicted.txt' % (out_dir, name) ww = open(out_file, 'w') ww.write('predicted_pasid\tdb_diff\tdb_pasid\tscore\n') ww.close() os.system('cat %s/maxSum/*bidirection* >>%s' % (out_dir, out_file)) if (keep_temp != 'yes'): os.system('rm -rf %s/data %s/predict %s/maxSum' % (out_dir, out_dir, out_dir)) print("Job Done!")
def predict(self): time_preprocess = TimeCalculation(name='Preprocess') time_predict = TimeCalculation(name='Predict') time_postprocess = TimeCalculation(name='Postprocess') time_total = TimeCalculation(name='Total') # 总计时开始 time_total.begin() # 预处理计时开始 time_preprocess.begin() # dicom 转换成 nii, 如果 nii_path 有值, 则默认不需要转换,直接去 nii_path 作为 origin_nii_path print('------------>> step1: dicom2nii...') origin_nii_path = self.nii_path if self.nii_path else dicom2nii( dicom_path=self.dicom_path, save_path=self.output_path) origin_nii = image.load_img(origin_nii_path) print('------> origin nii shape: ' + str(origin_nii.get_data().shape)) # 预处理 print('------------>> step2: preprocrss...') r_nii_data, main_axis, padding = PreProcess4MSpacing.preprocess( origin_nii, self.standard_shape, normalize='standardiztion') x_padding = padding[0] y_padding = padding[1] z_padding = padding[2] # 预处理计时结束 time_preprocess.end() # 预测计时开始 time_predict.begin() # 载入模型 print('------------>> step3: load model...') model = self.load_model() # 开始预测 print('------------>> step4: start to predict...') # 计算分块取数据需要的步骤数 step = int(math.ceil(r_nii_data.shape[0] / self.standard_shape[0])) print('------> generator steps: ' + str(step)) pre_imgs = model.predict_generator(generator=GeneratorMSpacing( normalize_func=PreProcess4MSpacing.standardiztion).pre_generator( r_nii_data), steps=step) # 预测计时结束 time_predict.end() # 后处理计时开始 time_postprocess.begin() output_imgs = np.argmax(pre_imgs, axis=4) # 巨坑:输出图像前把类型转换成float32,不然MRIcorN显示的时候会出现问题 output_imgs = output_imgs.astype(np.float32) print('------> output image shape: ' + str(output_imgs.shape)) print('------> unique of output image: ' + str(np.unique(output_imgs))) # 输出图像并保存 print('------------>> step5: stitching_predicted_data...') stitching_data = self.stitching_predicted_data(output_imgs, self.standard_shape) # 还原 padding 的数据 print(stitching_data.shape) stitching_data = stitching_data[:( stitching_data.shape[0] - x_padding[1]), :(stitching_data.shape[1] - y_padding[1]), :(stitching_data.shape[2] - z_padding[1])] print('------> not padding output shape: ' + str(stitching_data.shape)) # 主轴还原 transpose_shape_dict = {0: (0, 1, 2), 1: (1, 0, 2), 2: (1, 2, 0)} stitching_data = np.transpose(stitching_data, transpose_shape_dict[main_axis]) print(np.unique(stitching_data)) predict_nii = np_2_nii(origin_nii_path, stitching_data, need_save=False) print('------------>> step6: postprocess...') Postprocess(predict_nii, origin_nii, origin_nii_path, self.output_path).postprocess() # 输出 nii 图像 print('------> output nii file...') self.output_nii(predict_nii, origin_nii) self.output_nii(predict_nii, origin_nii, 1) self.output_nii(predict_nii, origin_nii, 2) self.output_nii(predict_nii, origin_nii, 3) # 计算 dice 值 self.calculate_dice(predict_nii) # 后处理计时结束 time_postprocess.end() # 总计时结束 time_total.end() print('------------>> Done!')
outputFile.write('\t'.join(outputLine) + '\n') outputFile.write('\n') sentence = [] tags = [] continue else: token, label = line.split('\t') sentence.append(token) tags.append(label) if __name__ == '__main__': crf_path = 'E:/data/CRF++-0.54/' crf_data_path = 'crf_input/' para = 'trigger' os.system( '{}crf_learn -a MIRA -f 5 {}template.txt {}{para}_train.txt {para}_model' .format(crf_path, crf_data_path, crf_data_path, para=para)) if para == 'trigger': os.system('{}crf_test -m model -v2 {}{para}_test.txt > {para}_raw.txt'. format(crf_path, crf_data_path, para=para)) Postprocess().processOutput('trigger_raw.txt', 'trigger_result.txt') else: os.system( '{}crf_test -m {para}_model {}{para}_test.txt > {para}_result.txt'. format(crf_path, crf_data_path, para=para))
# print 'file already exists' # else: # shutil.copyfile(src_file,dst_file) if load_all: src_dir_prefix = src_dir_prefix+'*' for src_path in glob.glob(os.path.join(src_dir,src_dir_prefix)): head, tail = os.path.split(src_path) tail1,tail2 = tail.split('_moving_') # tail1, tail2 = tail.split(src_dir_prefix) dst_base_name = cp_name+tail2 if post_calc: from postprocess import Postprocess print src_path if not os.path.isfile(os.path.join(src_path,'claw_aux.ptc0000')): shutil.copy(os.path.join(src_path,'claw_aux.ptc0001'),os.path.join(src_path,'claw_aux.ptc0000')) pst = Postprocess(path=src_path,clean_outdir=True) if src_path.find('v0')==-1: pst.vrip = int(src_path[src_path.find('vm0')+3:src_path.find('vm0')+5])/100.0 else: pst.vrip = int(src_path[src_path.find('v0')+2:src_path.find('v0')+4])/100.0 if not src_path.find('1um')==-1: pst.plot_frames = [6,35,70,105,140,175,198] print pst.plot_frames pst.CalcFieldQuad() pst.PlotFrames() pst.Sampling() else: pst.plot_frames = get_frames print pst.plot_frames pst.CalcFieldQuad()
img = cv2.imread('./data/VOC2007_trainval/JPEGImages/000017.jpg') img = cv2.resize(img, (416, 416)) x = torch.from_numpy(img / 255).float().unsqueeze(0).permute(0, -1, 1, 2).cuda() model = YoloV3(num_classes) state = torch.load(os.path.join(saved_pth_dir, pth_file)) model.load_state_dict(state['model_state_dict']) model.eval() model.cuda() y_pred = model(x, training=False) postprocessor = Postprocess(iou_threshold=0.5, score_threshold=0.5, max_detection=10).cuda() boxes, scores, classes, num_detection = postprocessor(y_pred) num_img = num_detection.shape[0] for n_img in range(num_img): h, w, c = img.shape score = scores.cpu()[n_img] classs = classes.cpu()[n_img] classs = torch.argmax(classs, dim=1) for i in range(num_detection.item()): box = boxes.cpu()[n_img][i] score_value = score[i].item()
class Game(DirectObject): def __init__(self): #the window props wp = WindowProperties.getDefault() wp.setUndecorated(False) wp.setFullscreen(False) wp.setSize(cfg['win-size'][0], cfg['win-size'][1]) wp.setOrigin(-2,-2) wp.setFixedSize(False) wp.setTitle("Grass and Gas - wezu -PyWeek 21") #open the window base.openMainWindow(props = wp) base.setBackgroundColor(0, 0, 0, 1) base.disableMouse() self.mode=DRIVING #make sure the config is ok cfg['hardware-skinning']=ConfigVariableBool('hardware-skinning', True).getValue() cfg['srgb']=ConfigVariableBool('framebuffer-srgb', False).getValue() cfg['win-size']=[ConfigVariableInt('win-size', '640 480').getWord(0), ConfigVariableInt('win-size', '640 480').getWord(1)] cfg['music-volume']=ConfigVariableInt('music-volume', '50').getValue() cfg['sound-volume']=ConfigVariableInt('sound-volume', '100').getValue() cfg['key-forward']=ConfigVariableString('key-forward','w').getValue() cfg['key-back']=ConfigVariableString('key-back','s').getValue() cfg['key-left']=ConfigVariableString('key-left','a').getValue() cfg['key-right']=ConfigVariableString('key-right','d').getValue() cfg['key-jump']=ConfigVariableString('key-jump','space').getValue() cfg['key-cut-grass']=ConfigVariableString('key-cut-grass','shift').getValue() cfg['key-enter-exit-car']=ConfigVariableString('key-enter-exit-car','tab').getValue() cfg['shadow-size']=ConfigVariableInt('shadow-size',1024).getValue() cfg['shadow-area']=ConfigVariableInt('shadow-area',50).getValue() self.accept('escape', self.doExit) self.accept('f1', self.hideHelp) self.accept(cfg['key-jump'], self.doFlip) self.accept( cfg['key-enter-exit-car'], self.changeMode) self.accept(cfg['key-cut-grass'], self.shear) self.accept( 'window-event', self.onWindowEvent) inputState.watchWithModifiers('forward', cfg['key-forward']) inputState.watchWithModifiers('reverse', cfg['key-back']) inputState.watchWithModifiers('turnLeft', cfg['key-left']) inputState.watchWithModifiers('turnRight', cfg['key-right']) # Task taskMgr.add(self.update, 'updateWorld') taskMgr.doMethodLater(5.0, self.countGrass, 'grass_counter') # Physics self.setup() # _____HANDLER_____ def hideHelp(self): if self.hud.help_frame.isHidden(): self.hud.help_frame.show() else: self.hud.help_frame.hide() def doExit(self): self.cleanup() sys.exit(1) def doReset(self): self.cleanup() self.setup() def toggleWireframe(self): base.toggleWireframe() def toggleTexture(self): base.toggleTexture() def toggleDebug(self): if self.debugNP.isHidden(): self.debugNP.show() else: self.debugNP.hide() def doScreenshot(self): base.screenshot('Bullet') def onWindowEvent(self,window=None): if window is not None: # window is none if panda3d is not started self.filters.update() self.hud.updateGuiNodes() def countGrass(self, task): current=self.grass.getStatus() if self.grass_to_cut ==0: self.grass_to_cut=current if current == 0: return v= (float(current)/float(self.grass_to_cut)) #print self.grass_to_cut, current self.hud.counter['text']= str(int(v*100.0))+"%" return task.again def update(self, task): dt = globalClock.getDt() if self.mode==DRIVING: self.car.drive(dt) self.hud.showSpeed(self.car.getKmph()) self.hud.showFuel(self.car.fuel) self.grass.setMowerPos(self.car.blade_node) self.hud.grradar_display['frameTexture']=self.grass.gradar['tex'] node_to_follow=self.car.node speed=0.3 elif self.mode==WALKING: self.char.walk(dt) node_to_follow=self.char.actor_node speed=0.03 self.world.doPhysics(dt, 10, 0.001) if self.mode!=EXITING: self.camera.follow(node_to_follow, dt, speed) self.sun_sky.sun_node.setPos(self.camera.cam_node.getPos(render)) return task.cont def cleanup(self): self.world = None self.worldNP.removeNode() def _setMode(self, mode): self.mode=mode #self.camera.zoomIn() def changeMode(self): if self.mode==DRIVING: if self.car.stopEngine(): self.car.exitCar() self.char.exitCar(self.car.node) #self.char.getOutOfCar(self.car.node) Sequence(Wait(3.6), Func(self._setMode, WALKING)).start() self.mode=EXITING #self.camera.zoomIn() self.hud.hide() self.driving_music.stop() self.walking_music.play() elif self.mode==WALKING: if abs(self.char.node.getDistance(self.car.node))<2.0: #if self.char self.mode=DRIVING #self.camera.zoomOut() self.hud.show() self.char.enterCar() self.car.enterCar() self.driving_music.play() self.walking_music.stop() #self.car.node.node().setMass(self.car.mass) def doFlip(self): if self.mode==DRIVING: self.car.flip() self.grass.getStatus() if self.mode==WALKING: self.char.jump() def shear(self): if self.mode==DRIVING: if self.car.blade_spining: self.car.blade_spining=False self.grass.mower_blade.hide() else: self.car.blade_spining=True self.grass.mower_blade.show() def setup(self): self.worldNP = render.attachNewNode('World') # World self.debugNP = self.worldNP.attachNewNode(BulletDebugNode('Debug')) self.debugNP.hide() self.world = BulletWorld() self.world.setGravity(Vec3(0, 0, -9.81)) self.world.setDebugNode(self.debugNP.node()) # Plane #shape = BulletPlaneShape(Vec3(0, 0, 1), 0) #mesh = BulletTriangleMesh() #geomNodes = loader.loadModel('levels/test1/collision').findAllMatches('**/+GeomNode') #geomNode = geomNodes.getPath(0).node() #geom = geomNode.getGeom(0) #mesh.addGeom(geom) #shape = BulletTriangleMeshShape(mesh, dynamic=False, bvh=True ) #np = self.worldNP.attachNewNode(BulletRigidBodyNode('Ground')) #np.node().addShape(shape) #np.setPos(0, 0, 20.0) #np.setCollideMask(BitMask32.allOn()) #self.world.attachRigidBody(np.node()) #sky dome self.sun_sky=Sky() self.sun_sky.setTime(17.0) #terrain self.ground=Terrain(self.world, self.worldNP) self.ground.loadMesh(path+'levels/gandg2/collision') self.ground.setMaps(path+'levels/gandg2/') self.ground.setTextures((39, 1, 2, 15, 4, 5)) #grass self.grass=Grass() self.grass.setMap(path+'levels/gandg2/grass.png') self.grass_to_cut=self.grass.getStatus() # Car self.car=Car(self.world, self.worldNP) self.car.setPos(161.0,160.0,26) #camera self.camera=FlyingCamera() #car to character scale 0.0128 self.char=Character(self.world, self.worldNP) self.char.enterCar() #self.char.setPos(256, 250, 80) #filter manager, post process self.filters=Postprocess() #self.filters.setupFxaa() #no time to make it work, sorry... self.filters.setupFilters() #map objects .. hardcoded because of time self.object_root=render.attachNewNode('object_root') obj=[ (path+'models/pyweek_wall1',0.0,(303.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(301.0,405.0,25.0980434417725),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(299.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(297.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(295.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(293.0,405.0,25.0980434417725),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(291.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(289.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(287.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(285.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(283.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(281.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(281.0,385.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(283.0,385.0,25.0980453491211),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(285.0,385.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,404.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,402.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,400.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,398.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,396.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,394.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,392.0,25.237850189209),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,404.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,398.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,396.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,394.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,392.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,390.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,388.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,386.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(286.0,386.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(286.0,388.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(286.0,390.0,25.0980434417725),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(287.0,391.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(289.0,391.0,25.1190624237061),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(291.0,391.0,25.1960334777832),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(293.0,391.0,25.1596641540527),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(295.0,391.0,25.2697868347168),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(297.0,391.0,25.3282146453857),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(299.0,391.0,25.3496627807617),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(301.0,391.0,25.2688617706299),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(303.0,391.0,25.2534332275391),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,402.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_box',0.0,(279.600006103516,401.700012207031,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.399993896484,402.200012207031,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.600006103516,402.700012207031,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.399993896484,403.399993896484,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.799987792969,402.799987792969,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.799987792969,402.100006103516,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.0,401.5,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.5,401.600006103516,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.799987792969,401.899993896484,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.5,402.600006103516,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.0,402.5,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.399993896484,402.0,25.5980415344238),None), (path+'models/pyweek_box',90.0,(278.100006103516,402.299987792969,25.0980415344238),None), (path+'models/pyweek_box',90.0,(277.799987792969,401.700012207031,25.0980415344238),None), (path+'models/pyweek_box',90.0,(278.200012207031,401.899993896484,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.399993896484,402.399993896484,26.0980415344238),None), (path+'models/pyweek_box',90.0,(279.0,401.899993896484,26.0980415344238),None), (path+'models/pyweek_box',90.0,(278.799987792969,402.399993896484,26.0980415344238),None) ] for i in obj: loadObject(model=i[0], H=i[1], pos=i[2], world=self.world, worldNP=self.worldNP, root=self.object_root, collision_solid=i[3]) self.object_root.flattenStrong() #models/pyweek_gate,90.0,(280.0,399.0,25.0980415344238)) #gui self.hud=HUD() #volume sfxMgr = base.sfxManagerList[0] sfxMgr.setVolume(cfg['sound-volume']*0.01) musicMgr = base.musicManager musicMgr.setVolume(cfg['music-volume']*0.01) #music self.driving_music=loader.loadMusic(path+'music/driving.ogg') self.driving_music.setLoop(True) self.driving_music.play() self.walking_music=loader.loadMusic(path+'music/walking.ogg') self.walking_music.setLoop(True) print self.char.actor.getScale(render)
def setup(self): self.worldNP = render.attachNewNode('World') # World self.debugNP = self.worldNP.attachNewNode(BulletDebugNode('Debug')) self.debugNP.hide() self.world = BulletWorld() self.world.setGravity(Vec3(0, 0, -9.81)) self.world.setDebugNode(self.debugNP.node()) # Plane #shape = BulletPlaneShape(Vec3(0, 0, 1), 0) #mesh = BulletTriangleMesh() #geomNodes = loader.loadModel('levels/test1/collision').findAllMatches('**/+GeomNode') #geomNode = geomNodes.getPath(0).node() #geom = geomNode.getGeom(0) #mesh.addGeom(geom) #shape = BulletTriangleMeshShape(mesh, dynamic=False, bvh=True ) #np = self.worldNP.attachNewNode(BulletRigidBodyNode('Ground')) #np.node().addShape(shape) #np.setPos(0, 0, 20.0) #np.setCollideMask(BitMask32.allOn()) #self.world.attachRigidBody(np.node()) #sky dome self.sun_sky=Sky() self.sun_sky.setTime(17.0) #terrain self.ground=Terrain(self.world, self.worldNP) self.ground.loadMesh(path+'levels/gandg2/collision') self.ground.setMaps(path+'levels/gandg2/') self.ground.setTextures((39, 1, 2, 15, 4, 5)) #grass self.grass=Grass() self.grass.setMap(path+'levels/gandg2/grass.png') self.grass_to_cut=self.grass.getStatus() # Car self.car=Car(self.world, self.worldNP) self.car.setPos(161.0,160.0,26) #camera self.camera=FlyingCamera() #car to character scale 0.0128 self.char=Character(self.world, self.worldNP) self.char.enterCar() #self.char.setPos(256, 250, 80) #filter manager, post process self.filters=Postprocess() #self.filters.setupFxaa() #no time to make it work, sorry... self.filters.setupFilters() #map objects .. hardcoded because of time self.object_root=render.attachNewNode('object_root') obj=[ (path+'models/pyweek_wall1',0.0,(303.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(301.0,405.0,25.0980434417725),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(299.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(297.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(295.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(293.0,405.0,25.0980434417725),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(291.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(289.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(287.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(285.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(283.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(281.0,405.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(281.0,385.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(283.0,385.0,25.0980453491211),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(285.0,385.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,404.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,402.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,400.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,398.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,396.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,394.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(304.0,392.0,25.237850189209),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,404.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,398.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,396.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,394.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,392.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,390.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,388.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,386.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(286.0,386.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(286.0,388.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(286.0,390.0,25.0980434417725),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(287.0,391.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(289.0,391.0,25.1190624237061),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(291.0,391.0,25.1960334777832),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(293.0,391.0,25.1596641540527),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(295.0,391.0,25.2697868347168),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(297.0,391.0,25.3282146453857),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(299.0,391.0,25.3496627807617),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(301.0,391.0,25.2688617706299),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',0.0,(303.0,391.0,25.2534332275391),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_wall1',90.0,(280.0,402.0,25.0980415344238),path+'models/pyweek_wall1_collision'), (path+'models/pyweek_box',0.0,(279.600006103516,401.700012207031,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.399993896484,402.200012207031,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.600006103516,402.700012207031,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.399993896484,403.399993896484,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.799987792969,402.799987792969,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.799987792969,402.100006103516,25.0980415344238),None), (path+'models/pyweek_box',0.0,(279.0,401.5,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.5,401.600006103516,25.0980415344238),None), (path+'models/pyweek_box',0.0,(278.799987792969,401.899993896484,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.5,402.600006103516,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.0,402.5,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.399993896484,402.0,25.5980415344238),None), (path+'models/pyweek_box',90.0,(278.100006103516,402.299987792969,25.0980415344238),None), (path+'models/pyweek_box',90.0,(277.799987792969,401.700012207031,25.0980415344238),None), (path+'models/pyweek_box',90.0,(278.200012207031,401.899993896484,25.5980415344238),None), (path+'models/pyweek_box',90.0,(279.399993896484,402.399993896484,26.0980415344238),None), (path+'models/pyweek_box',90.0,(279.0,401.899993896484,26.0980415344238),None), (path+'models/pyweek_box',90.0,(278.799987792969,402.399993896484,26.0980415344238),None) ] for i in obj: loadObject(model=i[0], H=i[1], pos=i[2], world=self.world, worldNP=self.worldNP, root=self.object_root, collision_solid=i[3]) self.object_root.flattenStrong() #models/pyweek_gate,90.0,(280.0,399.0,25.0980415344238)) #gui self.hud=HUD() #volume sfxMgr = base.sfxManagerList[0] sfxMgr.setVolume(cfg['sound-volume']*0.01) musicMgr = base.musicManager musicMgr.setVolume(cfg['music-volume']*0.01) #music self.driving_music=loader.loadMusic(path+'music/driving.ogg') self.driving_music.setLoop(True) self.driving_music.play() self.walking_music=loader.loadMusic(path+'music/walking.ogg') self.walking_music.setLoop(True) print self.char.actor.getScale(render)
def VGGish(pump=None, input_shape=None, include_top=False, pooling='avg', weights='audioset', name='vggish', compress=False): '''A Keras implementation of the VGGish architecture. Arguments: pump (pumpp.Pump): The model pump object. input_shape (tuple): the model input shape. If ``include_top``, ``input_shape`` will be set to ``(params.NUM_FRAMES, params.NUM_BANDS, 1)``, otherwise it will be ``(None, None, 1)`` to accomodate variable sized inputs. include_top (bool): whether to include the fully connected layers. Default is False. pooling (str): what type of global pooling should be applied if no top? Default is 'avg' weights (str, None): the weights to use (see WEIGHTS_PATHS). Currently, there is only 'audioset'. Can also be a path to a keras weights file. name (str): the name for the model. Returns: A Keras model instance. ''' with tf.name_scope(name): if input_shape: pass elif include_top: input_shape = params.NUM_FRAMES, params.NUM_BANDS, 1 elif pump: # print(type(pump)) inputs = pump.layers('tf.keras')[params.PUMP_INPUT] else: input_shape = None, None, 1 # use input_shape to make input if input_shape: inputs = tfkl.Input(shape=input_shape, name='input_1') # setup layer params conv = partial( tfkl.Conv2D, kernel_size=(3, 3), strides=(1, 1), activation='relu', padding='same') maxpool = partial( tfkl.MaxPooling2D, pool_size=(2, 2), strides=(2, 2), padding='same') # Block 1 x = conv(64, name='conv1')(inputs) x = maxpool(name='pool1')(x) # Block 2 x = conv(128, name='conv2')(x) x = maxpool(name='pool2')(x) # Block 3 x = conv(256, name='conv3/conv3_1')(x) x = conv(256, name='conv3/conv3_2')(x) x = maxpool(name='pool3')(x) # Block 4 x = conv(512, name='conv4/conv4_1')(x) x = conv(512, name='conv4/conv4_2')(x) x = maxpool(name='pool4')(x) if include_top: dense = partial(tfkl.Dense, activation='relu') # FC block x = tfkl.Flatten(name='flatten_')(x) x = dense(4096, name='fc1/fc1_1')(x) x = dense(4096, name='fc1/fc1_2')(x) x = dense(params.EMBEDDING_SIZE, name='fc2')(x) if compress: x = Postprocess()(x) else: globalpool = ( tfkl.GlobalAveragePooling2D() if pooling == 'avg' else tfkl.GlobalMaxPooling2D() if pooling == 'max' else None) if globalpool: x = globalpool(x) # Create model model = Model(inputs, x, name='model') # print(model.summary()) model.load_weights('/scratch/mkolpe2s/CNN_dcase/vggish_audioset_weights_without_fc2.h5') # load_vggish_weights(model, weights, strict=bool(weights)) # print("Okay") return model
from crawler import Crawler from preprocess_purchase import PreprocessPurchase from inference import Inference from learning_purchase import Learning from postprocess import Postprocess, Email from datetime import datetime data_version = datetime.now().strftime("%Y%m%d") load_date = data_version target = 'purchase' mode = 'inference' encoder_version = 'original' model_version = 'original' #crawling crawler = Crawler(data_version, target) #preprocess prep = PreprocessPurchase(mode, data_version, encoder_version) #inference inf = Inference(data_version, model_version) #postprocess post = Postprocess(data_version, model_version) body = post.urls() em = Email() msg = em.create_message(body) em.send(msg)
spec = prep.pre_price(spec) spec = prep.pre_bid(spec) spec = prep.pre_transportation(spec) spec = prep.pre_land(spec) spec = prep.pre_area(spec) spec = prep.pre_structure(spec) spec = prep.pre_age(spec) spec = prep.pre_floor(spec) spec = prep.pre_direction(spec) spec = prep.pre_mcost(spec) spec = prep.pre_rcost(spec) spec = prep.encode_cat_to_label(spec) prep.save_spec(spec) #inference inf = Inference(data_version, model_version) spec = inf.load_prep_spec() treasure = inf.inference(spec) inf.save_treasure(treasure) #postprocess post = Postprocess(data_version, model_version) spec = post.load_result() spec = post.decode(spec) body = post.urls(spec) em = Email() msg = em.create_message(body) em.send(msg) else: print('input "learning" or "inference"')
class Game(DirectObject): def __init__(self): #the window props wp = WindowProperties.getDefault() wp.setUndecorated(False) wp.setFullscreen(False) wp.setSize(cfg['win-size'][0], cfg['win-size'][1]) wp.setOrigin(-2, -2) wp.setFixedSize(False) wp.setTitle("Grass and Gas - wezu -PyWeek 21") #open the window base.openMainWindow(props=wp) base.setBackgroundColor(0, 0, 0, 1) base.disableMouse() self.mode = DRIVING #make sure the config is ok cfg['hardware-skinning'] = ConfigVariableBool('hardware-skinning', True).getValue() cfg['srgb'] = ConfigVariableBool('framebuffer-srgb', False).getValue() cfg['win-size'] = [ ConfigVariableInt('win-size', '640 480').getWord(0), ConfigVariableInt('win-size', '640 480').getWord(1) ] cfg['music-volume'] = ConfigVariableInt('music-volume', '50').getValue() cfg['sound-volume'] = ConfigVariableInt('sound-volume', '100').getValue() cfg['key-forward'] = ConfigVariableString('key-forward', 'w').getValue() cfg['key-back'] = ConfigVariableString('key-back', 's').getValue() cfg['key-left'] = ConfigVariableString('key-left', 'a').getValue() cfg['key-right'] = ConfigVariableString('key-right', 'd').getValue() cfg['key-jump'] = ConfigVariableString('key-jump', 'space').getValue() cfg['key-cut-grass'] = ConfigVariableString('key-cut-grass', 'shift').getValue() cfg['key-enter-exit-car'] = ConfigVariableString( 'key-enter-exit-car', 'tab').getValue() cfg['shadow-size'] = ConfigVariableInt('shadow-size', 1024).getValue() cfg['shadow-area'] = ConfigVariableInt('shadow-area', 50).getValue() self.accept('escape', self.doExit) self.accept('f1', self.hideHelp) self.accept(cfg['key-jump'], self.doFlip) self.accept(cfg['key-enter-exit-car'], self.changeMode) self.accept(cfg['key-cut-grass'], self.shear) self.accept('window-event', self.onWindowEvent) inputState.watchWithModifiers('forward', cfg['key-forward']) inputState.watchWithModifiers('reverse', cfg['key-back']) inputState.watchWithModifiers('turnLeft', cfg['key-left']) inputState.watchWithModifiers('turnRight', cfg['key-right']) # Task taskMgr.add(self.update, 'updateWorld') taskMgr.doMethodLater(5.0, self.countGrass, 'grass_counter') # Physics self.setup() # _____HANDLER_____ def hideHelp(self): if self.hud.help_frame.isHidden(): self.hud.help_frame.show() else: self.hud.help_frame.hide() def doExit(self): self.cleanup() sys.exit(1) def doReset(self): self.cleanup() self.setup() def toggleWireframe(self): base.toggleWireframe() def toggleTexture(self): base.toggleTexture() def toggleDebug(self): if self.debugNP.isHidden(): self.debugNP.show() else: self.debugNP.hide() def doScreenshot(self): base.screenshot('Bullet') def onWindowEvent(self, window=None): if window is not None: # window is none if panda3d is not started self.filters.update() self.hud.updateGuiNodes() def countGrass(self, task): current = self.grass.getStatus() if self.grass_to_cut == 0: self.grass_to_cut = current if current == 0: return v = (float(current) / float(self.grass_to_cut)) #print self.grass_to_cut, current self.hud.counter['text'] = str(int(v * 100.0)) + "%" return task.again def update(self, task): dt = globalClock.getDt() if self.mode == DRIVING: self.car.drive(dt) self.hud.showSpeed(self.car.getKmph()) self.hud.showFuel(self.car.fuel) self.grass.setMowerPos(self.car.blade_node) self.hud.grradar_display['frameTexture'] = self.grass.gradar['tex'] node_to_follow = self.car.node speed = 0.3 elif self.mode == WALKING: self.char.walk(dt) node_to_follow = self.char.actor_node speed = 0.03 self.world.doPhysics(dt, 10, 0.001) if self.mode != EXITING: self.camera.follow(node_to_follow, dt, speed) self.sun_sky.sun_node.setPos(self.camera.cam_node.getPos(render)) return task.cont def cleanup(self): self.world = None self.worldNP.removeNode() def _setMode(self, mode): self.mode = mode #self.camera.zoomIn() def changeMode(self): if self.mode == DRIVING: if self.car.stopEngine(): self.car.exitCar() self.char.exitCar(self.car.node) #self.char.getOutOfCar(self.car.node) Sequence(Wait(3.6), Func(self._setMode, WALKING)).start() self.mode = EXITING #self.camera.zoomIn() self.hud.hide() self.driving_music.stop() self.walking_music.play() elif self.mode == WALKING: if abs(self.char.node.getDistance(self.car.node)) < 2.0: #if self.char self.mode = DRIVING #self.camera.zoomOut() self.hud.show() self.char.enterCar() self.car.enterCar() self.driving_music.play() self.walking_music.stop() #self.car.node.node().setMass(self.car.mass) def doFlip(self): if self.mode == DRIVING: self.car.flip() self.grass.getStatus() if self.mode == WALKING: self.char.jump() def shear(self): if self.mode == DRIVING: if self.car.blade_spining: self.car.blade_spining = False self.grass.mower_blade.hide() else: self.car.blade_spining = True self.grass.mower_blade.show() def setup(self): self.worldNP = render.attachNewNode('World') # World self.debugNP = self.worldNP.attachNewNode(BulletDebugNode('Debug')) self.debugNP.hide() self.world = BulletWorld() self.world.setGravity(Vec3(0, 0, -9.81)) self.world.setDebugNode(self.debugNP.node()) # Plane #shape = BulletPlaneShape(Vec3(0, 0, 1), 0) #mesh = BulletTriangleMesh() #geomNodes = loader.loadModel('levels/test1/collision').findAllMatches('**/+GeomNode') #geomNode = geomNodes.getPath(0).node() #geom = geomNode.getGeom(0) #mesh.addGeom(geom) #shape = BulletTriangleMeshShape(mesh, dynamic=False, bvh=True ) #np = self.worldNP.attachNewNode(BulletRigidBodyNode('Ground')) #np.node().addShape(shape) #np.setPos(0, 0, 20.0) #np.setCollideMask(BitMask32.allOn()) #self.world.attachRigidBody(np.node()) #sky dome self.sun_sky = Sky() self.sun_sky.setTime(17.0) #terrain self.ground = Terrain(self.world, self.worldNP) self.ground.loadMesh(path + 'levels/gandg2/collision') self.ground.setMaps(path + 'levels/gandg2/') self.ground.setTextures((39, 1, 2, 15, 4, 5)) #grass self.grass = Grass() self.grass.setMap(path + 'levels/gandg2/grass.png') self.grass_to_cut = self.grass.getStatus() # Car self.car = Car(self.world, self.worldNP) self.car.setPos(161.0, 160.0, 26) #camera self.camera = FlyingCamera() #car to character scale 0.0128 self.char = Character(self.world, self.worldNP) self.char.enterCar() #self.char.setPos(256, 250, 80) #filter manager, post process self.filters = Postprocess() #self.filters.setupFxaa() #no time to make it work, sorry... self.filters.setupFilters() #map objects .. hardcoded because of time self.object_root = render.attachNewNode('object_root') obj = [(path + 'models/pyweek_wall1', 0.0, (303.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (301.0, 405.0, 25.0980434417725), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (299.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (297.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (295.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (293.0, 405.0, 25.0980434417725), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (291.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (289.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (287.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (285.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (283.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (281.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (281.0, 385.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (283.0, 385.0, 25.0980453491211), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (285.0, 385.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 404.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 402.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 400.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 398.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 396.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 394.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 392.0, 25.237850189209), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 404.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 398.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 396.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 394.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 392.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 390.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 388.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 386.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (286.0, 386.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (286.0, 388.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (286.0, 390.0, 25.0980434417725), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (287.0, 391.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (289.0, 391.0, 25.1190624237061), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (291.0, 391.0, 25.1960334777832), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (293.0, 391.0, 25.1596641540527), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (295.0, 391.0, 25.2697868347168), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (297.0, 391.0, 25.3282146453857), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (299.0, 391.0, 25.3496627807617), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (301.0, 391.0, 25.2688617706299), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (303.0, 391.0, 25.2534332275391), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 402.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_box', 0.0, (279.600006103516, 401.700012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.399993896484, 402.200012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.600006103516, 402.700012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.399993896484, 403.399993896484, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.799987792969, 402.799987792969, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.799987792969, 402.100006103516, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.0, 401.5, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.5, 401.600006103516, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.799987792969, 401.899993896484, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.5, 402.600006103516, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.0, 402.5, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.399993896484, 402.0, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (278.100006103516, 402.299987792969, 25.0980415344238), None), (path + 'models/pyweek_box', 90.0, (277.799987792969, 401.700012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 90.0, (278.200012207031, 401.899993896484, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.399993896484, 402.399993896484, 26.0980415344238), None), (path + 'models/pyweek_box', 90.0, (279.0, 401.899993896484, 26.0980415344238), None), (path + 'models/pyweek_box', 90.0, (278.799987792969, 402.399993896484, 26.0980415344238), None)] for i in obj: loadObject(model=i[0], H=i[1], pos=i[2], world=self.world, worldNP=self.worldNP, root=self.object_root, collision_solid=i[3]) self.object_root.flattenStrong() #models/pyweek_gate,90.0,(280.0,399.0,25.0980415344238)) #gui self.hud = HUD() #volume sfxMgr = base.sfxManagerList[0] sfxMgr.setVolume(cfg['sound-volume'] * 0.01) musicMgr = base.musicManager musicMgr.setVolume(cfg['music-volume'] * 0.01) #music self.driving_music = loader.loadMusic(path + 'music/driving.ogg') self.driving_music.setLoop(True) self.driving_music.play() self.walking_music = loader.loadMusic(path + 'music/walking.ogg') self.walking_music.setLoop(True) print self.char.actor.getScale(render)
def setup(self): self.worldNP = render.attachNewNode('World') # World self.debugNP = self.worldNP.attachNewNode(BulletDebugNode('Debug')) self.debugNP.hide() self.world = BulletWorld() self.world.setGravity(Vec3(0, 0, -9.81)) self.world.setDebugNode(self.debugNP.node()) # Plane #shape = BulletPlaneShape(Vec3(0, 0, 1), 0) #mesh = BulletTriangleMesh() #geomNodes = loader.loadModel('levels/test1/collision').findAllMatches('**/+GeomNode') #geomNode = geomNodes.getPath(0).node() #geom = geomNode.getGeom(0) #mesh.addGeom(geom) #shape = BulletTriangleMeshShape(mesh, dynamic=False, bvh=True ) #np = self.worldNP.attachNewNode(BulletRigidBodyNode('Ground')) #np.node().addShape(shape) #np.setPos(0, 0, 20.0) #np.setCollideMask(BitMask32.allOn()) #self.world.attachRigidBody(np.node()) #sky dome self.sun_sky = Sky() self.sun_sky.setTime(17.0) #terrain self.ground = Terrain(self.world, self.worldNP) self.ground.loadMesh(path + 'levels/gandg2/collision') self.ground.setMaps(path + 'levels/gandg2/') self.ground.setTextures((39, 1, 2, 15, 4, 5)) #grass self.grass = Grass() self.grass.setMap(path + 'levels/gandg2/grass.png') self.grass_to_cut = self.grass.getStatus() # Car self.car = Car(self.world, self.worldNP) self.car.setPos(161.0, 160.0, 26) #camera self.camera = FlyingCamera() #car to character scale 0.0128 self.char = Character(self.world, self.worldNP) self.char.enterCar() #self.char.setPos(256, 250, 80) #filter manager, post process self.filters = Postprocess() #self.filters.setupFxaa() #no time to make it work, sorry... self.filters.setupFilters() #map objects .. hardcoded because of time self.object_root = render.attachNewNode('object_root') obj = [(path + 'models/pyweek_wall1', 0.0, (303.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (301.0, 405.0, 25.0980434417725), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (299.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (297.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (295.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (293.0, 405.0, 25.0980434417725), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (291.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (289.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (287.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (285.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (283.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (281.0, 405.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (281.0, 385.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (283.0, 385.0, 25.0980453491211), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (285.0, 385.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 404.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 402.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 400.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 398.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 396.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 394.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (304.0, 392.0, 25.237850189209), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 404.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 398.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 396.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 394.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 392.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 390.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 388.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 386.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (286.0, 386.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (286.0, 388.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (286.0, 390.0, 25.0980434417725), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (287.0, 391.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (289.0, 391.0, 25.1190624237061), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (291.0, 391.0, 25.1960334777832), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (293.0, 391.0, 25.1596641540527), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (295.0, 391.0, 25.2697868347168), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (297.0, 391.0, 25.3282146453857), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (299.0, 391.0, 25.3496627807617), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (301.0, 391.0, 25.2688617706299), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 0.0, (303.0, 391.0, 25.2534332275391), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_wall1', 90.0, (280.0, 402.0, 25.0980415344238), path + 'models/pyweek_wall1_collision'), (path + 'models/pyweek_box', 0.0, (279.600006103516, 401.700012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.399993896484, 402.200012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.600006103516, 402.700012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.399993896484, 403.399993896484, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.799987792969, 402.799987792969, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.799987792969, 402.100006103516, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (279.0, 401.5, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.5, 401.600006103516, 25.0980415344238), None), (path + 'models/pyweek_box', 0.0, (278.799987792969, 401.899993896484, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.5, 402.600006103516, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.0, 402.5, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.399993896484, 402.0, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (278.100006103516, 402.299987792969, 25.0980415344238), None), (path + 'models/pyweek_box', 90.0, (277.799987792969, 401.700012207031, 25.0980415344238), None), (path + 'models/pyweek_box', 90.0, (278.200012207031, 401.899993896484, 25.5980415344238), None), (path + 'models/pyweek_box', 90.0, (279.399993896484, 402.399993896484, 26.0980415344238), None), (path + 'models/pyweek_box', 90.0, (279.0, 401.899993896484, 26.0980415344238), None), (path + 'models/pyweek_box', 90.0, (278.799987792969, 402.399993896484, 26.0980415344238), None)] for i in obj: loadObject(model=i[0], H=i[1], pos=i[2], world=self.world, worldNP=self.worldNP, root=self.object_root, collision_solid=i[3]) self.object_root.flattenStrong() #models/pyweek_gate,90.0,(280.0,399.0,25.0980415344238)) #gui self.hud = HUD() #volume sfxMgr = base.sfxManagerList[0] sfxMgr.setVolume(cfg['sound-volume'] * 0.01) musicMgr = base.musicManager musicMgr.setVolume(cfg['music-volume'] * 0.01) #music self.driving_music = loader.loadMusic(path + 'music/driving.ogg') self.driving_music.setLoop(True) self.driving_music.play() self.walking_music = loader.loadMusic(path + 'music/walking.ogg') self.walking_music.setLoop(True) print self.char.actor.getScale(render)
Generate_windows(out_dir,input_file,input_plus,input_minus,fa_file,keep_temp,window,name,depth) >>>>>>> e6e9d5b305368adbd0eec6e055e70e82e740a154 data_dir = out_dir+'/data' data_files = glob.glob(data_dir+"/*") for data in data_files: if 'wig' in data: continue baseName = data.split('/')[-1] Evaluate(model,out_dir,rst,window,baseName,keep_temp) Scan_Forward(baseName,threshold,penality,out_dir) Scan_Backward(baseName,threshold,penality,out_dir) if(keep_temp != 'yes'): predict_file = out_dir+'/predict/'+baseName+'.txt' os.system('rm %s'%predict_file) Postprocess(DB_file,baseName,threshold,penality,out_dir) if(keep_temp != 'yes'): forward_file=out_dir+"/maxSum/%s.forward.%d.%d.txt"%(baseName,threshold,penality) backward_file=out_dir+"/maxSum/%s.backward.%d.%d.txt"%(baseName,threshold,penality) os.system('rm %s %s'%(forward_file,backward_file)) out_file = '%s/%s.predicted.txt' %(out_dir,name) ww = open(out_file,'w') <<<<<<< HEAD ww.write('predicted_pasid\tdb_diff\tdb_pasid\tscore\n') ======= if(DB_file is not None): ww.write('predicted_pasid\tdb_pasid\tdb_diff\tscore\n') else: ww.write('predicted_pasid\tscore\n') >>>>>>> e6e9d5b305368adbd0eec6e055e70e82e740a154
def VGGish(pump=None, input_shape=None, include_top=False, pooling='avg', weights='audioset', name='vggish', compress=False): with tf.name_scope(name): if input_shape: pass elif pump: inputs = pump.layers('tf.keras')[params.PUMP_INPUT] elif include_top: input_shape = params.NUM_FRAMES, params.NUM_BANDS, 1 else: input_shape = None, None, 1 # use input_shape to make input if input_shape: inputs = kl.Input(shape=input_shape, name='input_1') # setup layer params conv = partial( kl.Conv2D, kernel_size=(3, 3), strides=(1, 1), activation='relu', padding='same') maxpool = partial( kl.MaxPooling2D, pool_size=(2, 2), strides=(2, 2), padding='same') # Block 1 x = conv(64, name='conv1')(inputs) x = maxpool(name='pool1')(x) # Block 2 x = conv(128, name='conv2')(x) x = maxpool(name='pool2')(x) # Block 3 x = conv(256, name='conv3/conv3_1')(x) x = conv(256, name='conv3/conv3_2')(x) x = maxpool(name='pool3')(x) # Block 4 x = conv(512, name='conv4/conv4_1')(x) x = conv(512, name='conv4/conv4_2')(x) x = maxpool(name='pool4')(x) if include_top: dense = partial(kl.Dense, activation='relu') # FC block x = kl.Flatten(name='flatten_')(x) x = dense(4096, name='fc1/fc1_1')(x) x = dense(4096, name='fc1/fc1_2')(x) x = dense(params.EMBEDDING_SIZE, name='fc2')(x) if compress: x = Postprocess()(x) else: globalpool = ( kl.GlobalAveragePooling2D() if pooling == 'avg' else kl.GlobalMaxPooling2D() if pooling == 'max' else None) if globalpool: x = globalpool(x) # Create model model = Model(inputs, x, name='model') load_vggish_weights(model, weights, strict=bool(weights)) return model