栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python基础】parse

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python基础】parse

parse_args()的使用:

  • 建立解析对象:parser = argparse.ArgumentParser();
  • 给parser实例添加属性:parser.add_argument('-epoches', type=int, default=15, help='batch size for dataloader');
  • 增加属性;
  • 通过args = parser.parse_args()把刚才的属性从parser给args,后面直接通过args使用。
import argparse

if __name__ == "__main__":
    # 建立解析对象
    parser = argparse.ArgumentParser()
    
    # 给parser实例添加属性
    parser.add_argument('-gpu', action='store_true', default=True, help='use gpu or not')
    parser.add_argument('-bs', type=int, default=128, help='batch size for dataloader')
    parser.add_argument('-epoches', type=int, default=15, help='batch size for dataloader')
    
    # 把刚才的属性给args实例,后面就可以直接使用
    args = parser.parse_args()

    continous_feature_names = ['releaseYear', 'movieRatingCount', 'movieAvgRating', 'movieRatingStddev',
                               'userRatingCount', 'userAvgRating', 'userRatingStddev']
    categorial_feature_names = ['userGenre1', 'userGenre2', 'userGenre3', 'userGenre4', 'userGenre5',
                                'movieGenre1', 'movieGenre2', 'movieGenre3', 'userId', 'movieId']

    categorial_feature_vocabsize = [20] * 8 + [30001] + [1001]
    
    # build dataset for train and test
    batch_size = args.bs
    train_data = build_dataset(args.train_path)
    loader_train = DataLoader(train_data, batch_size=batch_size, num_workers=64, shuffle=True, pin_memory=True)
    test_data = build_dataset(args.test_path)
    loader_test = DataLoader(test_data, batch_size=batch_size, num_workers=64)

    device = torch.device("cuda" if args.gpu else "cpu")
    # train model
    model = WideDeep(categorial_feature_vocabsize, continous_feature_names, categorial_feature_names, embed_dim=64)
    if args.gpu:
        model = model.to(device)
    optimizer = optim.Adam(model.parameters(), lr=1e-3, weight_decay=1e-3)
    best_acc = 0

	# 这里就直接使用args.epoches
    for ep in range(args.epoches):
        train(ep)
        best_acc = test(ep, best_acc)
Reference

[1] Py官网:argparse — 命令行选项、参数和子命令解析器

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号