我正在尝试将此函数拟合到一些数据中:
但是当我使用我的代码时
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) 当我尝试在 Android Studio 设备文件资源管理器中从我的设备下载文件时,下载总是卡住。\n我在设备文件资源管理器中打开文件夹,右键单击文件并选择“另存为...”。
\n\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\n09-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\nRun Code Online (Sandbox Code Playgroud)\n\n可能是什么原因?我在哪里可以找到任何可能让我知道出了什么问题的信息?
\n\n编辑:
\n\nJavi Moll\xc3\xa1 认为可能是该文件,所以我在同事的计算机上测试了它。有效。所以我猜这确实是一个与 Android studio(在我的电脑上)相关的错误。
\n\n编辑2:
\n\n上传作品。
\n我正在使用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),这不是最佳选择。
我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我真正使用的?