بدون توضیح

Christoph Theiß ecbbff3c1a New version 6 سال پیش
cvargparse ecbbff3c1a New version 6 سال پیش
.editorconfig 512ebb3afb Refactored everything 6 سال پیش
.gitignore 229b5aac4f Initial commit 6 سال پیش
Makefile 12f2a4b513 first commit 6 سال پیش
README.md 54daf47f3a 'README.md' ändern 6 سال پیش
requirements.txt 12f2a4b513 first commit 6 سال پیش
setup.py 12f2a4b513 first commit 6 سال پیش

README.md

Wrapper for argparse

Some sample code (with some pseudo DL framework):

from cvargparse import GPUParser, ArgFactory, Arg

from dlframework import Model, LRSchedule, Updater, Iterator, to_gpu, load_data

def main(args):
    data = load_data(args.data, args.labels)
    model = Model(args.model_weights)
    # we can select multiple GPUs. use the first GPU for the initial model creation
    
    GPU = args.gpu[0]
    if GPU >= 0:
        to_gpu(model, GPU)
    
    lr_schedule = LRSchedule(args.lr, args.lr_shift, args.lr_decrease_rate, args.lr_target)
    
    updater = Updater(model, lr_schedule, decay=args.decay)
    
    it = Iterator(data, args.batch_size)
    
    for epoch in range(args.epochs):
        for batch in it:
            updater.train(model, batch)
    
    parser = GPUParser(ArgFactory([
		Arg("data", type=str),
		Arg("labels", type=str),
		Arg("model_weights", type=str),
	])\
	.epochs()\
	.batch_size()\
	.learning_rate(lr=1e-3)\
	.weight_decay(5e-3)\
	.seed()\
	.debug())

parser.init_logger()
main(parser.parse_args())

This script can be called as following:

python script.py path/to/data path/to/labels path/to/model \
    --gpu 0 1 \
    -lr 0.001 -lrs 30 -lrd 0.1 -lrt 1e-7 \
    --batch_size 32 \
    --epochs 90 \
    --loglevel DEBUG \
    --logfile path/to/logs