小编zel*_*ell的帖子

了解 scipy.optimize.basinhopping 的输出

我正在使用 scipy.optimize.basinhopping 来最小化函数。这是我得到的:

Out[96]: 
                  nfev: 162178
 minimization_failures: 2501
                   fun: 4.4702905615653705
                     x: array([-194.7754468])
               message: ['requested number of basinhopping iterations completed successfully']
                  njev: 44057
                   nit: 2500
Run Code Online (Sandbox Code Playgroud)

但是,我很难理解输出。这些返回参数的含义是什么:

  • 非传染性疾病

  • 最小化_失败

  • 涅夫

  • 尼特

我猜 nfev = 函数评估次数,而 nit 应该对应于“迭代次数”。但是为什么 nit != nfev?

python optimization scipy

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

使用内置传递的LLVM opt

我已成功运行llvm opt和我的玩具转换过程,但是看不到如何使用内置转换过程的' opt'http://llvm.org/docs/Passes.html#introduction

我有一个空的hi.c文件

int main(){
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我想使用-instcount传递,

opt -instcount hi.c
Run Code Online (Sandbox Code Playgroud)

给了我奇怪的错误.

opt: hi.c:1:1: error: expected top-level entity
int main(){
^
Run Code Online (Sandbox Code Playgroud)

使用opt -instcount hi.bc也不起作用

WARNING: You're attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.
Run Code Online (Sandbox Code Playgroud)

如果我使用opt -inst-count -f hi.bc,输出是一个凌乱的bitcode.

问题:我们应该如何使用内置转换过程的'opt'(来自上面的链接)?谢谢你的想法.'opt -help'说

opt [options] <input bitcode file>

但我上面的例子'opt -instcount hi.bc'并没有按预期工作(见上文).

llvm

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

从 ctypes 的 c_char_p 中检索字符串

在Python中,我有一个ctypes.c_char_p的字符串“Hello, world”。看来 python 自动将其编码为一个数字(请从我的 ipython 控制台参见下文)。如何从 ctypes.c_char_p 对象中检索字符串,即“Hello, world”?

In [45]: from ctypes import c_char_p

In [46]: c_char_p("Hello, World")
Out[46]: c_char_p(4508383228)
Run Code Online (Sandbox Code Playgroud)

python ctypes

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

Eclipse中的javac?

新手在日食,我有一个天真的问题.

我在Eclipse中找不到执行等效命令行"javac"的地方.如果我理解的话,从Eclipse进程菜单中"运行"为javac + java.所以我的问题是:在Eclipse下,我们如何才能用"javac"编译.java?谢谢.

有关信息,我注意到这篇类似的帖子 如何从Eclipse运行Javac 并没有回答我的问题.我的意思是"编译.java文件而不运行任何东西"

java eclipse javac

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

Ocaml的Graphics.open_graph不起作用

我试图按照ocaml手册绘制一些东西.但这是Ocaml的一个奇怪的回应.谁知道为什么?谢谢.

# #load "graphics.cma";;
# Graphics.open_graph "foo:0";;
_X11TransSocketINETConnect() can't get address for foo:6000: nodename nor servname provided, or not known
Exception: Graphics.Graphic_failure "Cannot open display foo:0".
Run Code Online (Sandbox Code Playgroud)

graphics ocaml

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

是否可以在文档中生成带有源的JAVA文档?

默认情况下,Javadoc不会将源代码放入其生成的html文件中.

我想知道是否可以将源文件放入或超链接?

java javadoc hyperlink documentation-generation

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

为什么我的 scipy.optimize.minimize 失败?

我尝试使用 fmin_bfgs 来找到绝对函数的局部最小值abs(x)。初始点设置为100.0;预期答案是 0.0。但是,我得到:

In [184]: op.fmin_bfgs(lambda x:np.abs(x),100.0)
Warning: Desired error not necessarily achieved due to precision loss.
         Current function value: 100.000000
         Iterations: 0
         Function evaluations: 64
         Gradient evaluations: 20
Out[184]: array([100.0])
Run Code Online (Sandbox Code Playgroud)

为什么?

python minimization scipy

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

模板 &lt;int v&gt; 类 Foo 的超类

假设我有一个模板类

template <int v>
class Foo {...}
Run Code Online (Sandbox Code Playgroud)

我有一个功能

void f(...)
Run Code Online (Sandbox Code Playgroud)

接受 Foo<1>、Foo<2> 等的任何对象作为输入,我该如何定义函数?看起来

void f(Foo x) 
Run Code Online (Sandbox Code Playgroud)

不编译。Foo<1>, Foo<100>, ... 以及所有 Foo 的通用类型是什么?

c++ inheritance templates superclass

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

在 C++ 中加速嵌套循环

我有以下一段 C++ 代码。问题的规模是 N 和 M。在我的机器上运行代码大约需要两分钟。(在 g++ -O3 编译之后)。无论如何在同一台机器上进一步加速它?任何一种选择,选择更好的数据结构、库、GPU 或并行性等,都摆在桌面上。

void demo() {
    int N = 1000000;
    int M=3000;
    vector<vector<int> > res(M);
    for (int i =0; i <N;i++) {
       for (int j=1; j < M; j++){
           res[j].push_back(i);
       }
    }
}


int main() {
  demo();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

附加信息:上面的第二个循环for (int j=1; j < M; j++)是实际问题的简化版本。实际上,对于(外循环的)每个 i,j 可以在不同的范围内,但迭代次数约为 3000。

c++ performance

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

在 C 浮点中使用 NaN 而不是 abort 的目的是什么?

我从 GNU Scientific Library 得到了一个计算结果。看起来像这样

iter  0: A = 1.0000, lambda = 1.0000, b = 0.0000, cond(J) =      inf, |f(x)| = 101.0200
iter  1: A = 3.5110, lambda = -12.8820, b = 1.2364, cond(J) =  92.8216, |f(x)| = -nan
iter  2: A = 3.5110, lambda = -12.8820, b = 1.2364, cond(J) =      nan, |f(x)| = -nan
iter  3: A = 3.5110, lambda = -12.8820, b = 1.2364, cond(J) =      nan, |f(x)| = -nan
iter  4: A = 3.5110, lambda = …
Run Code Online (Sandbox Code Playgroud)

c floating-point

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