小编ilc*_*avo的帖子

"pip install"和"python -m pip install"有什么区别?

我有一个本地版本的Python 3.4.1,我可以运行python -m pip install,但我无法找到要运行的pip二进制文件pip install.这两者有什么区别?

python pip python-3.x

34
推荐指数
3
解决办法
2万
查看次数

CUDA矢量类型的效率(float2,float3,float4)

我试图从CUDA例子中理解integrate_functorin particles_kernel.cu:

struct integrate_functor
{
    float deltaTime;    
    //constructor for functor
    //...

    template <typename Tuple>
    __device__
    void operator()(Tuple t)
    {
        volatile float4 posData = thrust::get<2>(t);
        volatile float4 velData = thrust::get<3>(t);

        float3 pos = make_float3(posData.x, posData.y, posData.z);
        float3 vel = make_float3(velData.x, velData.y, velData.z);

        // update position and velocity
        // ...

        // store new position and velocity
        thrust::get<0>(t) = make_float4(pos, posData.w);
        thrust::get<1>(t) = make_float4(vel, velData.w);
    }
};
Run Code Online (Sandbox Code Playgroud)

我们打电话make_float4(pos, age)但是make_float4被定义vector_functions.h

static __inline__ __host__ __device__ float4 …
Run Code Online (Sandbox Code Playgroud)

c cuda thrust

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

什么是.pydistutils.cfg?

我在两台服务器上工作,在一台服务器上.pydistutils.cfg看起来像:

install_scripts=~/opt_old/bin
install_data=~/opt_old/share
install_lib=~/usr/lib/python2.6/site-packages
Run Code Online (Sandbox Code Playgroud)

我认为,这会在本地版本的python上使用pip和链接库时出现问题.

在第二台服务器上,该文件不存在,我没有任何问题.

为什么我们需要这个文件,为什么PYTHONPATH不够用?

我安装了本地版本的Python并重命名了.pydistutils.cfg文件.因此,似乎该文件并不重要.

python pip pythonpath

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

如何使用自制软件和gcc-4.9构建openmpi?

默认情况下brew install openmpi用于clang创建其包装器.

我需要gcc-4.9为包装器指定(Homebrew安装).

我试过了

$export CC=gcc-4.9
$brew install openmpi

$brew install --cc=gcc-4.9 openmpi

$brew install --with-gcc49 openmpi

$brew install -CC=gcc-4.9 -CXX=g++-4.9 -FC=gfortran -F77=gfortran openmpi

$brew install openmpi --cc=gcc-4.9 

$brew install openmpi --CC=gcc-4.9 --CXX=g++-4.9 --FC=gfortran --F77=gfortran
Run Code Online (Sandbox Code Playgroud)

最后,我修改了openmpi公式添加:

 args = %W[
  CC=gcc-4.9 
  CXX=g++-4.9 
  FC=gfortran 
  F77=gfortran
Run Code Online (Sandbox Code Playgroud)

我还是得到的

$mpicc --showme
clang -I/usr/local/Cellar/open-mpi/1.8.4/include -L/usr/local/opt/libevent/lib -L/usr/local/Cellar/open-mpi/1.8.4/lib -lmpi
Run Code Online (Sandbox Code Playgroud)

homebrew gcc clang openmpi

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

如何在不覆盖的情况下编写hdf5文件?

对不起,如果这是一个非常基本的问题h5py.

我正在阅读文档,但我没有找到类似的例子.

我正在尝试使用Python创建多个hdf5数据集,但事实证明,关闭文件数据后会被覆盖.

假设我做了以下事情:

import numpy as np
import h5py
f = h5py.File('test.hdf5', 'w')
f.create_dataset('data1', data = np.ones(10))
f.close()
f = h5py.File('test.hdf5', 'w')
f.create_dataset('data0', data = np.zeros(10))
f.close()
f = h5py.File('test.hdf5', 'r')
f["data1"].value
f.close()
Run Code Online (Sandbox Code Playgroud)

我明白了

KeyError:"无法打开对象(对象'data1'不存在)"

如果我追加数据,则需要先在'w'模式下打开,然后在'a'模式下追加,有两个不同的语句.

import numpy as np
import h5py
f = h5py.File('test.hdf5', 'w')
f.create_dataset('data1', data = np.ones(10))
f.close()
f = h5py.File('test.hdf5', 'a')
f.create_dataset('data0', data = np.zeros(10))
f.close()
f = h5py.File('test.hdf5', 'r')
f["data1"].value
f.close()
Run Code Online (Sandbox Code Playgroud)

如果我'a'在两种情况下都以模式打开文件:

import numpy as np …
Run Code Online (Sandbox Code Playgroud)

python h5py

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

如何在python中读取一个大的tif文件?

我正在从http://oceancolor.gsfc.nasa.gov/DOCS/DistFromCoast/加载 tiff 文件

from PIL import Image
im = Image.open('GMT_intermediate_coast_distance_01d.tif')
Run Code Online (Sandbox Code Playgroud)

数据量大(im.size=(36000, 18000)1.3GB),常规转换无效;即,imarray.shape返回()

import numpy as np 
imarray=np.zeros(im.size)
imarray=np.array(im)
Run Code Online (Sandbox Code Playgroud)

如何将此 tiff 文件转换为numpy.array.

python tiff numpy python-imaging-library

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

ffmpeg PNG到mp4 - 黑屏

我可以使用这一行创建一个mpg视频

ffmpeg -f image2 -i 100%03d0.png movie.mpg
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试创建一个mp4视频,我会得到一个黑屏的视频.

ffmpeg -f image2 -i 100%03d0.png movie.mp4
Run Code Online (Sandbox Code Playgroud)

我的数据目录如下:1000010.png,1000020.png,... 1001260.png

mp4 png mpeg ffmpeg

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

如何将numpy数组与标量进行比较?

这个问题可能看起来非常基本但却产生了很大的混乱.

我尝试将a numpy.array与标量进行比较:

a=numpy.array([0.,1.,2.,-1.,-4.])
if a.any()>0.:
    print 'a:',a
Run Code Online (Sandbox Code Playgroud)

正如所料,我们得到:

a: [ 0.  1.  2. -1. -4.]
Run Code Online (Sandbox Code Playgroud)

现在,如果我这样做,找到负值

a=numpy.array([0.,1.,2.,-1.,-4.])
if a.any()<0.:
    print 'a:',a
Run Code Online (Sandbox Code Playgroud)

我没有得到任何意味着所有值都大于0的东西.

python arrays numpy

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

如何远程启动IPython笔记本?

按照这些说明(运行笔记本服务器远程访问IPython笔记本 ),我按如下方式进行:

在远程服务器上:

1)设置NotebookApp.password()

In [1]: from IPython.lib import passwd
In [2]: passwd()    
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
Run Code Online (Sandbox Code Playgroud)

2)创建个人资料

user@remote_host$ ipython profile create 
Run Code Online (Sandbox Code Playgroud)

3)编辑 ~/.ipython/profile_default/ipython_notebook_config.py

# Password to use for web authentication
c = get_config()
c.NotebookApp.password =
u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
Run Code Online (Sandbox Code Playgroud)

4)在端口8889上启动笔记本

user@remote_host$ ipython notebook --no-browser --port=8889
Run Code Online (Sandbox Code Playgroud)

然后笔记本开始了

[I 16:08:10.012 NotebookApp]使用CDN的MathJax:https://cdn.mathjax.org/mathjax/latest/MathJax.js

[W 16:08:10.131 NotebookApp]终端不可用(错误是没有名为'terminado'的模块)

[我16:08:10.132 NotebookApp]从本地目录服务笔记本:/ cluster/home/user

[I 16:08:10.132 NotebookApp] 0个活动内核

[I 16:08:10.132 NotebookApp] IPython Notebook运行于:http:// localhost:8889 /

[I 16:08:10.132 NotebookApp]使用Control-C停止此服务器并关闭所有内核(两次跳过确认).

在我的本地机器上

5)SSH隧道

 user@local$ ssh -N …
Run Code Online (Sandbox Code Playgroud)

ssh ipython ipython-notebook

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

如何删除Python中的旧引用?

假设我有以下课程

class Daddy:
    children=[]

    def addChild(self,aChild):
        self.children.append(aChild)

class Child:
    name = ''
    def __init__(self, aName):
        self.name = aName

aChild = Child('Peter')
aDaddy = Daddy()
aDaddy.addChild(aChild)
print aDaddy.children[0].name
del(aDaddy)
anotherDaddy = Daddy()
print anotherDaddy.children[0].name
Run Code Online (Sandbox Code Playgroud)

Daddy()保持对对象aDaddy的引用,我得到以下输出:

Peter
Peter
Run Code Online (Sandbox Code Playgroud)

python object del

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

什么是更安全有效的“新 std::complex”或“fftw_malloc”?

我正在使用一个使用 分配指针的库fftw_malloc,但我的数据以std::complex<double>*.

分配和释放内存的最有效方法是什么?

#include <fftw3.h>
#include <iostream>

int main()
{
    std::complex<double> * p1, *p2;
    std::vector< complex<double> > v;
    int N=10;

    //Allocating memory 
    p1 = (std::complex<double> *) fftw_malloc( sizeof(std::complex<double>) * N);
    p2 = new std::complex<double>[N];
    v.reserve(N);

    //Do some stuff
    manipulate(p1);
    manipulate(p2);
    manipulate(v.data());

    //Freeing memory 
    fftw_free(p1);
    delete[] p2;

}
Run Code Online (Sandbox Code Playgroud)

鉴于应该避免强制转换,我们可以说这p2p1?

c++ std fftw

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

如何用 clang 编译特殊的数学函数?

可以使用sph_legendreor调用tr1并编译它gcc-5gcc-6

#include<tr1/cmath>

int main()
{
    std::tr1::sph_legendre(1,1,0);
    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果我尝试将其编译为clang++

clang++ -stdlib=libstdc++ legendre.cpp -o legendre

我明白了

错误:命名空间“std::tr1”中没有名为“sph_legendre”的成员

在第 40.3 节中,C++PP(第 4 版)指出:

“对于特殊数学函数有一个单独的 ISO 标准 [C++Math,2010]。实现可以将这些函数添加到 cmath”

我怎样才能编译这些特殊函数clang++

c++ tr1 cmath clang++

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