相关疑难解决方法(0)

如何确定我的python shell是否在OS X上以32位或64位模式执行?

我需要一种方法来告诉shell在shell中的模式.

我试过看平台模块,但它似乎只是告诉你"关于位体系结构和用于可执行文件的链接格式":二进制编译为64位虽然(我在OS X 10.6上运行)所以它似乎总是报告64位,即使我使用这里描述的方法强制32位模式).

python macos

386
推荐指数
15
解决办法
30万
查看次数

如何增加 Jupyter notebook 内存限制?

我在 Windows 10 上使用带有 Python3 的 jupyter notebook。我的电脑有 8GB 内存,至少有 4GB 的内存是免费的。

但是当我想用这个命令制作一个大小为 6000*6000 的 numpy ndArray 时: np.zeros((6000, 6000), dtype='float64') 我得到了这个:Unable to allocate array with shape (6000, 6000) and data type float64

我认为这不会使用超过 100MB 的 RAM。我试图改变号码看看会发生什么。我可以制作的最大数组是 (5000,5000)。我在估计需要多少 RAM 时出错了吗?

python memory numpy ipython jupyter-notebook

28
推荐指数
2
解决办法
5万
查看次数

为什么numpy.zeros和numpy.zeros_like之间的性能差异?

我终于在我的代码中发现了一个性能瓶颈,但对于原因是什么感到困惑.为了解决这个问题,我改变了所有的调用numpy.zeros_like来代替使用numpy.zeros.但为什么zeros_likesooooo慢得多?

例如(注意e-05zeros电话):

>>> timeit.timeit('np.zeros((12488, 7588, 3), np.uint8)', 'import numpy as np', number = 10)
5.2928924560546875e-05
>>> timeit.timeit('np.zeros_like(x)', 'import numpy as np; x = np.zeros((12488, 7588, 3), np.uint8)', number = 10)
1.4402990341186523
Run Code Online (Sandbox Code Playgroud)

但奇怪的是,写入创建的数组zeros明显比使用以下创建的数组慢zeros_like:

>>> timeit.timeit('x[100:-100, 100:-100] = 1', 'import numpy as np; x = np.zeros((12488, 7588, 3), np.uint8)', number = 10)
0.4310588836669922
>>> timeit.timeit('x[100:-100, 100:-100] = 1', 'import numpy as np; x = np.zeros_like(np.zeros((12488, 7588, 3), np.uint8))', …
Run Code Online (Sandbox Code Playgroud)

python numpy

20
推荐指数
2
解决办法
1万
查看次数

安装Matplotlib时出错:致命错误C1083

我对Python编码比较陌生,想了解Python中的统计信息和数据管理。为此,我想安装Matplotlib,这给了我一些问题。

我看到其他人有此问题,但是我还没有完全了解如何解决它。

要安装我使用

pip install matplotlib
Run Code Online (Sandbox Code Playgroud)

我安装了以下规格

  • Windows 10
  • Python 3.8
  • Microsoft Studio 2019

我遇到的第一个错误是安装Microsoft Studio,所以我做到了。我也尝试更新点子

BUILDING MATPLOTLIB 
 matplotlib: yes [3.1.1] 
 python: yes [3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)]] 
 platform: yes [win32] 

...

 checkdep_freetype2.c
    src/checkdep_freetype2.c(1): fatal error C1083: Cannot open include file: 'ft2build.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.23.28105\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1:
Run Code Online (Sandbox Code Playgroud)

python install matplotlib

7
推荐指数
2
解决办法
3053
查看次数

Linux over commit heuristic

来自内核文档的过度提交文章提到过度提交模式0基于启发式提交处理.它没有概述所涉及的启发式.

有人可以阐明实际的启发式是什么吗?任何与内核源相关的链接也都有效!

linux memory-management linux-kernel

6
推荐指数
1
解决办法
1911
查看次数

Python 3 和 Windows 64 中的内存错误

我知道之前已经问过与内存错误相关的问题,例如这里这里这里这里这里。并且建议的解决方案始终是切换到 Python 3 和/或 Window 64 位,或者在代码错误的情况下修复代码。但是,我已经在使用 Python 3 和 Win 64。我还可以从 Windows 任务管理器中看到,当 Python 抛出内存错误时,我的 64GB 内存中有几 GB 仍然可用。

我有大约 15 个日期索引的 Pandas 数据帧,每个数据帧有 14000 行,平均有 5000 列浮点数据,以及大约 40-50% 的 NaN 值,我从硬盘驱动器读入。我不能简单地删除 NaN,因为不同的列在不同的日期有 NaN。当我尝试将它们与pd.concat(). 所以这不是一些错误的代码或while循环的问题。如果我将某些数据框排除在串联之外,则串联时不会发生内存错误,但是当我尝试对串联数据进行 Scikit 学习决策树分析时,就会发生这种情况。

我的问题是如何让 Python 使用所有可用内存而不抛出内存错误?

编辑:截图添加了 IPython 解释器截图(我什至没有安装 Python 2): 在此处输入图片说明

系统信息截图: 在此处输入图片说明

python windows memory-management python-3.x

5
推荐指数
1
解决办法
1万
查看次数

无法分配形状为 (1482535, 67826) 且数据类型为 int64 的数组

我正在尝试将形状 (1482535, 67826) 的 scipy.sparse.csr.csr_matrix 存储到数据框中,但出现如下错误。我在具有 4CPU 和 208 GB 内存的 Google Cloud Platform 上运行。我不能再增加我的记忆了。我该如何解决这个问题?任何建议表示赞赏。

type(x_train_bow_name)`
scipy.sparse.csr.csr_matrix







   data1 = pd.DataFrame(x_train_bow_name.toarray())`




        ----------------------------------------------------------------- 
        ----------
        MemoryError                               Traceback (most recent 
        call 
        last)
       <ipython-input-16-283fa4dd2dd6> in <module>
         ----> 1 data1 = pd.DataFrame(x_train_bow_name.toarray())

                /usr/local/lib/python3.5/dist- 
         packages/scipy/sparse/compressed.py in toarray(self, order, out)
            1022         if out is None and order is None:
       1023             order = self._swap('cf')[0]
       -> 1024         out = self._process_toarray_args(order, out)
       1025         if not (out.flags.c_contiguous or 
      out.flags.f_contiguous):
            1026             raise ValueError('Output array must be C or 
         F contiguous')

        /usr/local/lib/python3.5/dist-packages/scipy/sparse/base.py in 
           _process_toarray_args(self, …
Run Code Online (Sandbox Code Playgroud)

scipy python-3.x google-cloud-platform

5
推荐指数
1
解决办法
2万
查看次数

如何从“ ravi”文件中获取数据?

什么ravi文件是:

RAVI文件是由热成像软件(例如Micro-Epsilon TIM Connect或Optris PIX Connect)创建的视频文件。它包含由热像仪捕获的视频,并以类似于音频视频交错(.AVI)格式的格式保存。RAVI文件还存储辐射度信息,例如由热像仪收集的温度和测量区域信息。

我的问题:

我必须处理ravi文件中的数据。我需要像素的温度值(或者帧的最高温度足以满足我的需要)。我想检查特定框架上的最高温度。最终结果将是一个报告,其中包含框架上的最高温度值(这将是图形)。使用Micro-Epsilon TIM ConnectOptris PIX Connect工具很容易检查和处理,但是我无法使用它们(我必须编写自己的工具)。

我的问题:

  • 如何从ravi文件中获取数据(实际上我只需要温度值)?
  • 是否有任何转换器可以将ravi文件转换为另一个文件(如果我可以从ravi文件中获取数据,这无关紧要)?

注意:

  • 首选Python语言,但我愿意接受所有想法。
  • 我必须使用这些ravi文件,但无法记录新文件或修改记录。
  • 我找到了一个提供SDK此类相机的站点,但对我来说不清楚ravi是否可以从文件中获取数据。链接到libirimager2文档:libirimager2
  • 如果我ravi使用媒体播放器播放文件,则说明使用的编解码器为:(Uncompressed packed YUV 4:2:2您可以在下面看到获取流)

如果我OpenCV用媒体播放器解析它或在其中播放,则可以看到一些信息流。但是我不确定如何获得温度...

CV2代码:

import cv2

cap = cv2.VideoCapture("my_test.ravi")

if not cap.isOpened():
    print("Error opening video stream or file")

while cap.isOpened():
    ret, frame = cap.read()
    if ret:
        cv2.imshow('Frame', frame)
    if cv2.waitKey(25) …
Run Code Online (Sandbox Code Playgroud)

python video opencv image-processing ravi

5
推荐指数
1
解决办法
239
查看次数

Python/Jupyter MemoryError:无法分配具有形状的数组

我在 Windows 上。我有一个包含约 8700 万行(10-12 列)的 CSV。我正在使用 Jupyter 笔记本,并且可以使用 Pandas 成功读取它。我还有另一个大约 100K 行的 csv,可以读取它。当我尝试(左外)加入这两个时会出现问题。我总是最终得到一个错误

MemoryError: Unable to allocate __ GiB for array with shape (__,__) and data type ___. 
Run Code Online (Sandbox Code Playgroud)

我尝试删除不必要的列并将 Pandas 数据帧转换为重新排列并以这种方式加入它们 - 没有奏效。我还尝试尽可能小地更改这些 recarray 中列的数据类型 - 也没有帮助。错误中的 __ GiB 也发生了变化——我见过 1.5、3、12……我有 18.4 GB 的“所有驱动器的总页面文件大小”并且无法更改此设置。我还有 77.3 GB 可用的本地存储空间,所以我认为这不是问题所在。

我看到了另一个答案,他们更改了过量使用内存,但它是针对 Linux 的。这是 Windows 上的可能解决方案吗?这似乎与 Jupyter 或我的机器有关吗?任何帮助将非常感激。

python memory windows pandas jupyter-notebook

5
推荐指数
0
解决办法
1万
查看次数