路径问题

这是玄学,不是问题。遇到了请绝对路径改相对路径,相对路径改绝对路径,并祈祷有效。

Import

import pyx

pyx文件的import需要Cython库的支持,因此要先装Cython,并在import相应pyx库前加入:

import pyximport
pyximport.install()

若再出现fatal error: numpy/arrayobject.h: No such file or directory错误,则在cmd执行创建相应库的代码时:

python setup.py build_ext --include-dirs=C:\ProgramData\Anaconda3\envs\pytorch\Lib\site-packages\numpy\core\include

后面的地址因人而异,填自己电脑里的numpy地址即可。

缺少concurrent模块

python 3.X版本自带,python 2.X安装:pip install futures

同级文件引用

同文件夹下的a.py要引用b.py:

#This code file is named "a.py"
from . import b

Tensorflow显存未释放

Tensorflow运行时默认会加载全部显存,这样一来可能其他程序就无法执行了,解决方式:

import tensorflow as tfconfig = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)

来多少任务用多少显存,不会直接霸占全部,或者直接设置最大使用量(30%):

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
session = tf.Session(config=config, ...)

Keras

import os
import tensorflow as tfos.environ["CUDA_VISIBLE_DEVICES"] = "0"
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
set_session(tf.Session(config=config))

通过os设置程序所使用的显卡(标号从“0”开始),后面设置使用显存占全部显存的百分比(30%)。

执行结束,释放显存:

from keras import backend as K
K.clear_session()

参考博文:https://www.jianshu.com/p/3f8f46b0b1f2?tdsourcetag=s_pctim_aiomsg

Pytorch下的维度问题

slice index 1 of dimension 0 out of bounds

在跑深度学习模型的时候遇到的错误,一般是模型参数的问题,如果经检查发现参数没问题,改下batch_size试试(改大或改小,不改维度)……

invalid argument 0: Sizes of tensors must match except in dimension 0.

可能情况一:数据集中图片尺寸不一致,统一尺寸即可。

可能情况二:数据集中样本总数与batch size不匹配,如样本总数无法整除以batch size,更改batch size即可。

1only batches of spatial targets supported

图像分割任务中,训练时经模型预测输出的内容格式为[batchsize, n_class, height, weight],而图像分割任务中的标签一般是单通道的,格式为[batchsize, channel=1, height, weight]。若损失函数为CrossEntropyLoss(),则在计算损失函数时应将真实标签格式调整为[batchsize, height, weight],否则便会报出上述错误。因此,需要对标签的tensor降维:

true_labels = true_labels.squeeze()

其他

%matplotlib inline

用于Jupyter Notebook的.ipynb文件中,作用是可令matplotlib的画图函数以Jupyter Notebook为画布绘制图像,在Jupyter中使用很方便,但移植到普通的.py中则是错误命令,注释掉即可。

文件读写时的转义字符

f = open('a.txt','w')
f.write('132\n321')
f.close()f = open('a.txt','r')
str = f.read()    # str = '132\n321'
f.close()f = open('a.txt','rb')
str = f.read()    # str = '132\r\n321'
f.close()

Pycharm编译器下,正常往txt中写一个\n,文本读入(参数为’r’)是一个\n,但在二进制读入(参数为’rb’)的情况下变成了\r\n。

而正常往txt中写一个\r,二进制读入的情况下是\r,但文本读入却变成了\n。

按照网上的说法,\r表示回车(Carriage Return,CR),作用是使光标回到行头,\n表示换行(Line Feed,LF),作用是使光标移动到下一行,两者一起使用才相当于按下“Enter”键。

在Pycharm中,编译器会以二进制格式读入文件后在\n前添加\r,在文本格式读入文件后自动将\r转换成\n。(仅在Windows系统下)

若要避免前者的发生,对字符串进行赋值、replace操作是没用的,应在写文件的时候:

f = open('a.txt','w',newline='\n')

这样编译器就不会自作主张在\n前添加\r了。

不同操作系统的文件系统采用了不同的回车换行操作,在Unix系统中,每行结尾只有“\n”,即LF模式,而Windows系统中文件每行结尾为“\r\n”,即CRLF模式。

Python捉虫记(持续更新)相关推荐

  1. Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画

    Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画 引子 这段时间一直努力在把早期版本的拇指接龙游戏(Cocos2d-x 2.2.3+CocoStud ...

  2. vc2010 std::tr1 bind库捉虫记

    前两天发现了VC2010 tr1库中bind实现的一个bug,当时只是作了记录,没有详细分析.但作为一个QA,不找出问题所在实在不算称职,于是就有了这篇捉虫记. 闲言少叙,书归正传,tr1库就不多作介 ...

  3. python手记(游戏) 笨方法学python习题36【持续更新中】

    如有意见或其他问题可在下方写下评论或加QQ:1693121186 欢迎一起讨论技术问题! 代码如下: 解说:这是笨方法的习题36,让做一个游戏.我会持续更新,如果想复制玩玩的同学,请别将主线线人以下的 ...

  4. Python学习图谱(持续更新)最新:2021/11/08

    本文集中整理了一些本人学习python过程中给予帮助的一些博主,并总结了本人学习路径,望各位提出建议 Python学习图谱参考: 脑图: 基础以及语法 环境准备 安装,开发工具 Python编程思想( ...

  5. Markdown转LaTeX的Python程序大全(持续更新)

    文章目录 1.双`$$`符号转`\begin`-`\end`型公式 2.将`\matrix{}`域替换为`\begin`-`\end`域 3.删除LaTeX\LaTeXLATE​X中不需要的Markd ...

  6. 2022/9/11 Python进阶--Linux版 持续更新

    常见操作系统 windows macos 乌班图Linux  对上控制软件 对下控制硬件 1.windows中 C D···等 被称为根目录 c:. 有多个根目录 2. Linux中 没有盘符的概念, ...

  7. Python+selenium Web自动化持续更新

    保姆入门级Web自动化学习资料 前言 Web自动化环境搭建 软件准备 开始环境搭建 浏览器和驱动下载 谷歌浏览器驱动版本对应以及下载: edge浏览器驱动版本对应以及下载: ie浏览器驱动官方地址: ...

  8. 豆瓣机器人小组自动回复回帖 Python 源码(持续更新中)

    最近给朋友做了一个豆瓣小组自动评论机器人,使用 requests 与 lxml 库,在控制刷新频率的情况下,基本能做到头排评论.除了爬虫的这一部分,还很重要的是要能对帖子回复有趣的内容. 基本功能 同 ...

  9. python进阶-Python 进阶用法 (持续更新)

    装饰器(Decorator) Python 的装饰器是任何可调用对象(callable object),用于修改函数(Function)或类(Class).按照用途可分为: 函数装饰器 类装饰器 装饰 ...

最新文章

  1. Eclipse中出现JS文件前有红叉的解决方法
  2. linux 内核参数somaxconn TCP监听队列长度
  3. 我的Android进阶之旅------Android二级ListView列表的实现
  4. 论“性能需求分析”系列专题(二)之 常用的性能需求获取方法
  5. java8 lambda 接口_Java8新特性之一:Lambda表达式
  6. qduoj - 今晚一起打CF吧——Codeforces,十三亿人的ACM梦。(排序背包)
  7. python字符串数字求和_python处理字符串:将字符串中的数字相加求和
  8. 【心得】centos 去除屏幕保护
  9. TP框架使用ajax的post请求方式下载文件
  10. dism /online /get-packages与dism /image:e:\ /get-packages
  11. GitHub创建token
  12. C语言编程入门——浮点数
  13. java识别答题卡纸_答题卡读取答案的原理是什么?
  14. Windows7轻松升级至专业版、旗舰版
  15. 阿里云国际站代充值个人注册与分销商邀约区别
  16. 关于百度 OpenRASP 的个人拙见
  17. Qpython教程和软件下载(Android手机学习python的平台利器)
  18. 如何设置苹果Mac菜单栏的时间与日期显示
  19. 头哥 (Educoder)数据结构与算法实验:实验11 TYJ动态规划
  20. 1051 复数乘法 分数 15

热门文章

  1. 寐督僖本堵苑嫡突,核冶坷籽姆!
  2. 20145209刘一阳 《网络对抗》逆向及BOF基础实践
  3. 想画一张版权属于你的图吗?AI作画,你也可以
  4. 20200221配置 惠普(HP)星14(R5-3500U)在ubuntu20.04下的WIFI型号RTL8821CE(完成了)
  5. python实现dnf自动刷怪_利用pyautogui自动化领取dnf的在线养竹活动的竹子
  6. 如何用TortoiseGit小乌龟来进行代码提交(亲测版)
  7. 携手全域兴趣电商,产业带找到新机会
  8. php搭建的论坛文件,怎么在本地搭建PHPWIND论坛
  9. 搜狗上市总市值53亿美元;微信发布数据报告,9月份日活用户9亿丨价值早报
  10. ABAP 后台执行程序