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

【python debug】could not convert string to float: ‘File‘ && got an unexpected keyword argument

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

【python debug】could not convert string to float: ‘File‘ && got an unexpected keyword argument

  • python debug过程中碰到的问题随手记录
报错1:ValueError: could not convert string to float: ‘File’
  • 在网上没有搜到直接匹配的答案

  • 分析发现,这里的报错是要把’File’这个转成float失败,非数字字符转换为float失败

  • 然后去检查哪里出现了这个’File’,发现data load读入多个文件的数据时,其中有个文件第一行是File而非数字,而这个文件并不是我想要的,直接删掉

  • 当然在网上查到的类似问题有的是多了引号,如’123’,可通过.strip(“’”)把‘’去掉

报错2:TypeError: _ _init_ _() got an unexpected keyword argument ‘ckpt_dir’
  • 报错行:logger = torch.utils.tensorboard.SummaryWriter(ckpt_dir=settings.ckpt_dir)

  • 该报错是在执行模型训练时碰到,命令:

    python main.py --train_data data/sdd/train --ckpt_dir log_sdd
    
  • 检查代码中报错行:

    from torch.utils.tensorboard import SummaryWriter
    logger = SummaryWriter(ckpt_dir=LogFile)
    
  • 查看SummaryWriter函数原型:

    torch.utils.tensorboard.writer.SummaryWriter(log_dir=None, comment=''
    , purge_step=None, max_queue=10, flush_secs=120, filename_suffix='')
    
    # log_dir默认值是 runs/CURRENT_DATETIME_HOSTNAME
    
    # 每次运行可设置不同目录如 ‘run/dir1’ ‘run/dir2’,这样就能比较两次运行结果
    

    参数log_dir(string):把事件文件写在该目录下,是一个分级目录

  • SummaryWriter函数举例:

    def __init__(self, logdir):
    	try:
    		from torch.utils.tensorboard import SummaryWriter
    		self.writer = SummaryWriter(log_dir=logdir)
    
  • 源码中参数不对导致报错,修改为:

    logger = SummaryWriter(log_dir=LogFile)	# ckpt_dir -> log_dir
    
  • 其他这类问题报错通常是版本原因,可能高版本支持但低版本无此参数等,比如

    got an unexpected keyword argument ‘encoding’
    got an unexpected keyword argument ‘serialized_options’

 


参考文章:

python中raw_input().strip().split()
pytorch的SummaryWriter使用
SummaryWriter方法代码示例

created by shuaixio, 2022.05.28

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

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

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