python代码问题总结(下)

简介: python代码问题总结

17.linux下conda安装opencv?

  • 比较坑的一点conda install opencv,安装成功了,但是import cv2一直失败,查看conda list,确实安装了3.4.1版本,虚拟环境:python=3.6
  • 解决:重新创建虚拟环境,python=3.7,然后conda install opencv即可,默认版本3.4.2
  • 注:原来是python版本导致的,或者3.4.1版本导致的

18.python语法…

…的使用

Numpy 中可以用来选数据
>>> import numpy as np
>>> a = [[1,2,3,4,5,6,7],[8,9,10,11]]
>>> b = np.array(a)
>>> b[1,...]
array(list([8, 9, 10, 11]), dtype=object)
这个看不出什么特殊性来。换一个稍微复杂点的。
>>> d = np.array([[[i + 2*j + 8*k for i in range(3)] for j in range(3)] for k in range(3)])
>>> d
array([[[ 0, 1, 2],
[ 2, 3, 4],
[ 4, 5, 6]],
[[ 8, 9, 10],
[10, 11, 12],
[12, 13, 14]],
[[16, 17, 18],
[18, 19, 20],
[20, 21, 22]]])
>>> d[1,...]
array([[ 8, 9, 10],
[10, 11, 12],
[12, 13, 14]])
>>> d[...,1]
array([[ 1, 3, 5],
[ 9, 11, 13],
[17, 19, 21]])
>>> d[1,...,1]
array([ 9, 11, 13])
>>>

19.visio插入数学公式

  • 1.打开word,插入数学公式
  • 2.复制
  • 3.在visio中右击—选择性黏贴—Microsoft word文档
  • 4.最后还可使用Ctrl+G将框图和公式组合到一起,这样移动时两个一起移动,更方便些。

19.1 将word中编辑好的公式复制到Visio中出现乱码问题?

在Visio(点击 选项 --> 高级 --> 显示 ->勾选禁用增强元文件优化)

20.SharedArray.create 导致 tmpfs 100%

/dev/shm 默认大小为物理内存的一半,如果需要调整大小,可以修改 /etc/fstab

# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G   52K  2.0G   1% /dev/shm
tmpfs                   tmpfs     2.0G  9.0M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        47G   20G   28G  42% /
/dev/sda1               xfs      1014M  161M  854M  16% /boot
tmpfs                   tmpfs     396M   12K  396M   1% /run/user/42
tmpfs                   tmpfs     396M     0  396M   0% /run/user/0

sudo -i password

vi /etc/fstab

tmpfs                   /dev/shm                tmpfs   defaults,size=2560M        0 0

最后重启即可,然后利用df -lh命令查看

https://blog.csdn.net/ctypyb2002/article/details/107914643

21.pytorch计算flops和paramas

1、安装Thop

pip install thop

2、代码使用

1)直接输出

import thop
from thop import profile
# 定义好的网络模型
input = torch.randn(1, 3, 224, 224)
flops, params = profile(Model,inputs=(input, ))
print('flops: ', flops, 'params: ', params)

这样的直接输出会让数据可比较性很弱,还需要自己转化单位【有点麻烦,不太推荐!】

2)使用thop.clever_format

from thop import clever_format
# 定义好的网络模型
input = torch.randn(1, 3, 224, 224)
flops, params = profile(Model,inputs=(input, ))
flops, params = clever_format([flops, params], "%.3f")  #这个就是与上面的差异哈!!!
print('flops: ', flops, 'params: ', params)

加上这样简单的一句话后,真的输入结果看上去太舒服了。

原文链接:https://blog.csdn.net/qq_37844044/article/details/119644941

22.PyCharm远程运行调试代码

https://zhuanlan.zhihu.com/p/38591832

23.subprocess.CalledProcessError: Command ‘[‘ninja’, ‘-v’]’ returned non-zero exit status 1.

问题:

Traceback (most recent call last):
  File "/.../lib/python3.6/site-packages/torch/utils/cpp_extension.py", line 949, in _build_extension_module
    check=True)
  File "/.../lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

解决:…/lib/python3.6/site-packages/torch/utils/cpp_extension.py

即:-v 改成 --version

注:vim快速定位:/‘ninja’

24.torch.nn.CrossEntropyLoss()

https://zhuanlan.zhihu.com/p/159477597

25.F.cross_entropy()

https://blog.csdn.net/wuliBob/article/details/104119616

26.pytorch|optimizer与学习率

https://lhyxx.top/2020/02/11/pytorch-optimizer%E4%B8%8E%E5%AD%A6%E4%B9%A0%E7%8E%87/

27.without bells and whistles 深度学习

https://blog.csdn.net/u013249853/article/details/84786730

28.element-wise product = element-wise  multiplication = Hadamard product?

含义:两个矩阵对应位置元素进行乘积

https://www.zhihu.com/question/432693995

29.迁移anaconda虚拟环境到新服务器+解决迁移后pip无法使用

1.迁移anaconda虚拟环境到新服务器

如果你有一个台机A不能联网,另一台机B可以联网,但需要在不能联网的A上运行代码,需要一些库。那么可以在A上离线安装Anaconda,在B上配置上虚拟环境,移动到A上。

  • 安装Ananconda,官网下载安装包,ssh传到A上并安装,同时B也应该安装好,两机anaconda安装包无需一致,但需要同类系统Linux or Win)。
  • 在B上创建虚拟环境py36(取名随意),在虚拟环境中安装需要的库。
  • 前往B的anaconda目录,找到envs文件夹,
  • ,对py36文件夹进行压缩。tar -czvf py36.tar.gz py3将压缩包传输到A,解压,放至anaconda/envs目录下。

2.解决迁移后pip无法使用

这一步完成后,基本上你需要的库都安装在A机上了,但是!如果你又加上了其他的项目,有1,2个库需要安装怎么办呢?

  • 先使用pip download <package_names>,在有网络的机子(B)上下载,库安装包,然后上传到A上。
  • 比如opencvpip download opencv-python,得到文件opencv_python-4.2.0.32-cp36-cp36m-manylinux1_x86_64.whl上传至A。
  • 这时在A上切换虚拟环境,pip install opencv_python-4.2.0.32-cp36-cp36m-manylinux1_x86_64.whl进行安装。
  • 这里会报一个错误-bash: /home/computer_a/anaconda3/envs/torch/bin/pip: /home/computer_b/anaconda3/envs/torch/bin/python: bad interpreter: No such file or directory。这是因为A机的pip路径是拷贝过来的,还是原来B机的python路径,修改即可。
  • 方法:打开/home/computer_a/anaconda3/envs/torch/bin/pip,将第一行路径改为/home/computer_b/anaconda3/envs/torch/bin/python
  • 原文链接:https://blog.csdn.net/weixin_44633882/article/details/105308120

30.pip install 时报错 ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问?

在pip install 后面加上 --user + 需要安装的包名
如:pip install --user imblearn

31.Pycharm退出pytest模式(run pytest in模式)?

1.方法1:

要退出这种模式,

  • 第一步:点击顶部运行键——选择‘Edit configuration’,
  • 第二步:可以看到左侧Python下有两个文件夹,如果进入了test模式,就会有‘Python test’一栏,
  • 第三步:选定Python test,这时点击上面的‘-’号去掉这栏下的文件即可。
  • 然后确定,再次右键代码,就可以执行run模式了

2.方法二

可以进入File-settings-tools-python integrated tools里面修改,选择unittest修改后记得应用一下

参考下图:

参考链接:https://blog.csdn.net/u011318077/article/details/88090830

目录
相关文章
|
17天前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
25 6
|
1月前
|
存储 缓存 测试技术
Python中的装饰器:功能增强与代码复用的利器
在Python编程中,装饰器是一种强大而灵活的工具,它允许开发者以简洁优雅的方式增强函数或方法的功能。本文将深入探讨装饰器的定义、工作原理、应用场景以及如何自定义装饰器。通过实例演示,我们将展示装饰器如何在不修改原有代码的基础上添加新的行为,从而提高代码的可读性、可维护性和复用性。此外,我们还将讨论装饰器在实际应用中的一些最佳实践和潜在陷阱。
|
1月前
|
人工智能 数据挖掘 Python
Python编程基础:从零开始的代码旅程
【10月更文挑战第41天】在这篇文章中,我们将一起探索Python编程的世界。无论你是编程新手还是希望复习基础知识,本文都将是你的理想之选。我们将从最基础的语法讲起,逐步深入到更复杂的主题。文章将通过实例和练习,让你在实践中学习和理解Python编程。让我们一起开启这段代码之旅吧!
|
10天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
48 8
|
17天前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
41 11
|
19天前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
33 11
|
14天前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!
|
15天前
|
程序员 测试技术 数据安全/隐私保护
深入理解Python装饰器:提升代码重用与可读性
本文旨在为中高级Python开发者提供一份关于装饰器的深度解析。通过探讨装饰器的基本原理、类型以及在实际项目中的应用案例,帮助读者更好地理解并运用这一强大的语言特性。不同于常规摘要,本文将以一个实际的软件开发场景引入,逐步揭示装饰器如何优化代码结构,提高开发效率和代码质量。
41 6
|
20天前
|
Python
如何提高Python代码的可读性?
如何提高Python代码的可读性?
33 4
|
19天前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。
下一篇
DataWorks