Note—— OSError & np.degress() & scipy.signal.argrelextrema

OSError

Flask项目
python filename.py
报错
在这里插入图片描述

地址已被使用

搜索相关问题后发现是因为,你曾启动过相同或者类似的服务占用了这个端口(一般来讲,在Mac上直接用Python启动的话,会导致退出不完整,你不能通过点击GUI的“退出”按钮来一步到位,后台的Python进程还是存在的,而它就是一直占用端口不释放的元凶)

Solution

  1. 改掉默认的端口
    只能解决当前的问题,后续仍会出现类似的问题
  2. 就是杀掉占用端口的程序
    使用lsof命令,全写是list open file,可以列出当前系统打开文件

我们要找到之前占用的端口5000
所以终端输入的命令为:

lsof -i:5000

然后可以看到PID为9108

请添加图片描述

  1. 接下来杀掉这个进程就可以了
    在终端输入命令:
kill 9108 

之后重新运行下程序就不会报错了

np.degress()

弧度转换为角度
np.pi ----> number

import numpy as np
angle = np.array([np.pi/2, np.pi/3, np.pi/6])
np.degrees(angle)

scipy.signal.argrelextrema

求数组中的极大值和极小值

peaks

signal.argrelextrema(data_y, np.greater, order=1)

valleys

valley_indexes = signal.argrelextrema(data_y, np.less, order=1)

Param

  • data_y: plot的竖直value 或 data
  • np.greater: 极大
  • np.less: 极小
  • order: 两侧用多少点进行比较
from scipy import signal
import numpy as np
import matplotlib.pyplot as plt

data_x = np.arange(start = 0, stop = 40, step = 1, dtype='int')
data_y = np.array([98,96,97,100,95,105,75,50,45,42,
					51,85,90,92,91,89,101,62,65,52,
					47,58,55,75,89,92,94,91,89,79,
					85,65,42,55,48,50,85,88,95,100])

# Find peaks
# order:两侧使用多少点进行比较
peak_indexes = signal.argrelextrema(data_y, np.greater, order=1)
peak_indexes = peak_indexes[0]

# Find valleys
# order:两侧使用多少点进行比较
valley_indexes = signal.argrelextrema(data_y, np.less, order=1)
valley_indexes = valley_indexes[0]

(fig, ax) = plt.subplots()

# Plot all data
ax.plot(data_x, data_y)

# Plot peaks
peak_x = peak_indexes
peak_y = data_y[peak_indexes]
ax.scatter(peak_x, peak_y, marker='o', color='red', label="Peaks")

# Plot valleys
valley_x = valley_indexes
valley_y = data_y[valley_indexes]
ax.scatter(valley_x, valley_y, marker='o', color='green', label="Valleys")

# 添加标题
plt.title('Find peaks and valleys using argrelextrema()')
# 添加图例
plt.legend(loc='best')
# 保存图像
plt.savefig('peaks-valleys.png')
# 显示图像
plt.show()

set Param

order = 1
请添加图片描述
order = 3
请添加图片描述

根据提供的信息, "oserror: libcusparse.so.11文件下载"是一个操作系统错误。这个错误通常表示在运行程序时,操作系统无法找到或加载所需的动态链接库文件 "libcusparse.so.11"。请按照以下步骤解决这个问题: 1. 确认文件名称和路径:首先,确保 "libcusparse.so.11" 文件存在于正确的路径中。您可以使用文件管理器或命令行工具浏览到该路径,并确保文件名正确没有拼写错误。 2. 检查CUDA Toolkit: a. 如果您正在开发CUDA程序,确保您已正确安装CUDA Toolkit。如果没有安装,请从官方NVIDIA网站下载和安装合适的CUDA Toolkit版本。 b. 验证CUDA Toolkit是否已正确配置。您可以通过命令行运行 `nvcc --version` 来检查CUDA版本。确保CUDA Toolkit版本与您的操作系统和硬件兼容,并且已正确设置CUDA环境变量。 3. 更新驱动程序:确保您的系统上的NVIDIA显卡驱动程序已经更新到最新版本。您可以在NVIDIA官方网站上找到并下载最新的驱动程序。 4. 检查系统依赖性:使用终端或命令行工具运行以下命令来检查系统是否缺少其他依赖库: ```shell sudo ldconfig -p | grep libcusparse ``` 如果命令没有找到 "libcusparse.so.11",那么您可能需要手动安装缺少的依赖项。请参考操作系统的文档或搜索相关资料来安装和配置所需的依赖项。 如果您按照上述步骤仍无法解决该问题,建议在相关的技术论坛或社区提问,以获取更具体的帮助和支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cmy_CTO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值