小编Jon*_*nas的帖子

scipy curve_fit 引发“OptimizeWarning:无法估计参数的协方差”

我正在尝试将此函数拟合到一些数据中:

在此处输入图片说明

但是当我使用我的代码时

import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt

def f(x, start, end):
    res = np.empty_like(x)
    res[x < start] =-1
    res[x > end] = 1
    linear = np.all([[start <= x], [x <= end]], axis=0)[0]
    res[linear] = np.linspace(-1., 1., num=np.sum(linear))
    return res

if __name__ == '__main__':

    xdata = np.linspace(0., 1000., 1000)
    ydata = -np.ones(1000)
    ydata[500:1000] = 1.
    ydata = ydata + np.random.normal(0., 0.25, len(ydata))

    popt, pcov = curve_fit(f, xdata, ydata, p0=[495., 505.])
    print(popt, pcov)
    plt.figure()
    plt.plot(xdata, …
Run Code Online (Sandbox Code Playgroud)

python curve-fitting scipy lmfit

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

下载文件时 Android studio 设备文件资源管理器卡住

当我尝试在 Android Studio 设备文件资源管理器中从我的设备下载文件时,下载总是卡住。\n我在设备文件资源管理器中打开文件夹,右键单击文件并选择“另存为...”。

\n\n

该问题出现在多个设备(同一型号)上。

\n\n

进度条上方写着:

\n\n
\n

下载文件 12(共 14 个):“/data/data/com.some.name/files/data.txt”(15.9 MB / 16.8 MB)

\n
\n\n

但无论我等多久,它都不会继续下载。\n我能找到的唯一提示是日志文件中的这些行(也许它们完全不相关):

\n\n
09-06 12:49:14.385 3784-3812/? W/StorageManager: getStorageFullBytes DEFAULT_FULL_THRESHOLD_BYTES : 20971520, threadhold : 20971520\n09-06 12:49:14.386 3784-3812/? W/StorageManager: getStorageLowBytes lowPercent : 5, lowBytes : 2898018304, maxLowBytes : 524288000\n09-06 12:49:14.387 3784-3812/? W/DeviceStorageMonitorService: updateBroadcasts(/data) oldLevel:0, newLevel:0, seq:1\n09-06 12:49:14.388 3784-3812/? W/DeviceStorageMonitorService: updateBroadcasts_filenode(/data) fn_oldLevel:0, fn_newLevel:0, seq:1\n
Run Code Online (Sandbox Code Playgroud)\n\n

可能是什么原因?我在哪里可以找到任何可能让我知道出了什么问题的信息?

\n\n

编辑:

\n\n

Javi Moll\xc3\xa1 认为可能是该文件,所以我在同事的计算机上测试了它。有效。所以我猜这确实是一个与 Android studio(在我的电脑上)相关的错误。

\n\n

编辑2:

\n\n

上传作品。

\n

android-studio

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

antlr4 中的 ParseTree 遍历

我正在使用antlr4 c++。我有一个ParseTree,我正在尝试重新创建树结构。为此,我使用了访问者my_Visitor和我自己的节点对象。

我的问题是visitChildren(tree::RuleNode*)调用所有子树的访问函数,所以当遍历一棵子树并访问下一棵子树时,我会丢失信息。

假设一棵树是这样的:

  A
 / \
B   C
Run Code Online (Sandbox Code Playgroud)

当我调用visitChildren(A)visitExpression(ExpressionContext*)对B和C使用重载函数)时,我可以提取访问顺序为A,B,C的信息。

这个序列也可能是由于:

A
|
B
|
C
Run Code Online (Sandbox Code Playgroud)

要重新创建树,我想我需要类似的东西

antlrcpp::Any my_Visitor::my_visitChildren(tree::RuleNode* A){
    for(int i=0;i<A->children.size();i++){
        //create a new node in my own tree representation as child of A
        visit(A->children[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

并调用my_visitChildren我的重载visitExpression函数。

这里的问题A->children[i]是 aTree并且visit(.)需要 a ParseTree

我可以以某种方式创建一个ParseTreefromchildren[i]还是有更好的方法来做到这一点?

我也在考虑使用映射tree->parent到我的对象并将我的新节点附加到那里,但是如果我想省略一些节点(例如对于 AST),这不是最佳选择。

c++ antlr antlr4

3
推荐指数
1
解决办法
883
查看次数

使用 pyinstaller 和 numpy 的可执行文件的大小

main.py使用 numpy 和 Qt编写了一个简短的程序:

from PyQt5 import QtWidgets
import numpy as np
import sys

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QTextEdit('hello')
    w.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

当我使用pyinstaller --windowed main.py生成的dist文件夹时,它的大小为 390MB。

如果我删除import numpy as np生成的dist文件夹只有 70MB。

有什么办法可以在仍然使用 numpy 的同时减小尺寸?也许只包括dlls我真正使用的?

python numpy pyinstaller

3
推荐指数
1
解决办法
9859
查看次数