def geneator_handler(): print('start request!') zvector = None batchSize = 1 # Upload a serialized Zvector if request.method == 'POST': print('POST!') # DO things # check if the post request has the file part if 'file' not in request.files: return BadRequest("File not present in request") file = request.files['file'] if file.filename == '': return BadRequest("File name is not present in request") if not allowed_file(file.filename): return BadRequest("Invalid file type") filename = secure_filename(file.filename) # input_filepath = os.path.join('./', filename) file.save(filename) # Load a Z vector and Retrieve the N of samples to generate zvector = torch.load(filename) batchSize = zvector.size()[0] checkpoint = request.form.get("ckp") or "netG_epoch_99.pth" # Check for cuda availability if torch.cuda.is_available(): # GPU and cuda Generator = DCGAN(netG=os.path.join(MODEL_PATH, checkpoint), zvector=zvector, batchSize=batchSize, ngpu=1, cuda=True, outf="./") else: # CPU Generator = DCGAN(netG=os.path.join(MODEL_PATH, checkpoint), zvector=zvector, batchSize=batchSize, ngpu=0, outf="./") Generator.build_model() Generator.generate() return send_file(OUTPUT_PATH, mimetype='image/png')
def init(): dcgan = DCGAN() if path.exists("%s/generator.h5" % modelSaveLocation): print("Model is trained. Loading from %s" % modelSaveLocation) dcgan.loadWeights(modelSaveLocation) dcgan.generate("./images/generated/example.png") else: data = loadData() print("Model is not trained. Loaded %d images for training" % len(data)) dcgan.train(data=data, epochs=2000, batch_size=32, save_interval=50) print("Model is trained. Saving to %s" % modelSaveLocation) dcgan.saveWeights(modelSaveLocation)
parser = argparse.ArgumentParser() parser.add_argument('--netG', required=True, default='', help="path to netG (for generating images)") parser.add_argument('--outf', default='/output', help='folder to output images') parser.add_argument('--Zvector', help="path to Serialized Z vector") parser.add_argument('--cuda', action='store_true', help='enables cuda') parser.add_argument('--ngpu', type=int, default=0, help='number of GPUs to use') opt = parser.parse_args() print(opt) zvector = None batchSize = 1 # Load a Z vector and Retrieve the N of samples to generate if opt.Zvector: zvector = torch.load(opt.Zvector) batchSize = zvector.size()[0] outf = "/output" if opt.outf: outf = opt.outf # GPU and CUDA cuda = None if opt.cuda: cuda = opt.cuda ngpu = int(opt.ngpu) # Generate An Image from input json or default parameters Generator = DCGAN(netG=opt.netG, zvector=zvector, batchSize=batchSize, outf=outf, cuda=cuda, ngpu=ngpu) Generator.build_model() Generator.generate()