小编Kar*_*rus的帖子

通过指定行和列从另一个数组创建 NumPy 数组

如何通过指定要包含哪些行和列(分别由和表示)来创建B作为 NumPy array 的子数组的NumPy 数组?Axy

例如:

A = numpy.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]])
x = [0, 2]
y = [1, 3, 4]
B = # Do something .....
Run Code Online (Sandbox Code Playgroud)

应该给出输出:

>>> B
array([[2, 4, 5], [12, 14, 15]])
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

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

打印出第一行以外的csv行

我想用Python读取一个CSV文件,然后打印出除第一行之外的每一行.

我知道如何打印出所有行:

with open('myfile.csv', 'rb') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for row in reader:
        print row
Run Code Online (Sandbox Code Playgroud)

我能想到的不打印第一行的唯一方法是:

with open('myfile.csv', 'rb') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for i, row in enumerate(reader):
        if i != 0:
            print row
Run Code Online (Sandbox Code Playgroud)

但这似乎并不优雅.还有其他方法吗?

python csv

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

将行添加到空的2D NumPy数组

我想从一个空的2D NumPy数组开始,然后添加一些行.但是,到目前为止,我只能用一维数组做到这一点.这是我到目前为止所尝试的:

a = numpy.array([])
a = numpy.append(a, [1, 2])
a = numpy.append(a, [8, 8])
print a
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

[1, 2, 8, 8]
Run Code Online (Sandbox Code Playgroud)

而我希望输出为:

[[1, 2], [8, 8]]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python numpy

4
推荐指数
2
解决办法
4353
查看次数

从另一个CMakeLists.txt将变量读入cmake

使用Ubuntu,C++cmake,我想创建一个Alpha基于另一个程序的代码的程序,Beta.我已经有了源代码Beta,我需要编写Alpha使用此现有代码的代码.我试图保持一切都很整洁,所以我有一个单独的目录AlphaBeta源文件,Alpha.cppBeta.cpp.

这是我的目录结构:

/CMakeLists.txt
/Alpha.cpp (the main function)
/Beta
    /CMakeLists.txt
    /Beta.cpp
Run Code Online (Sandbox Code Playgroud)

我的CMakeLists.txt文件Alpha看起来像这样:

cmake_minimum_required(VERSION 2.8)
project(Alpha)
add_executable(Alpha Alpha.cpp Beta/Beta.cpp)
Run Code Online (Sandbox Code Playgroud)

现在,在原始代码中Beta,该CMakeLists.txt文件包含大量信息,例如检查操作系统,查找包以及通常定义各种cmake变量.我需要在CMakeLists.txt文件中使用这些变量Alpha,以便Beta.cpp正确编译.

所以,我的问题:是否有可能保留所有的这些信息Beta/CmakeLists.txt,而无需将其全部写出来的AlphaCMakeLists.txt文件?我怎么然后告诉AlphaCMakeLists.txt文件来读取BetaCMakeLists.txt文件,以获得这些变量?我想这样做是为了保持一切整洁,并保持模块化.谢谢!

c++ cmake

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

检查NumPy数组是否包含另一个数组

使用NumPy和Python 2.7,我想创建一个n-by-2数组y.然后,我想检查此数组是否z在其任何行中包含特定的1 x 2数组.

这是我到目前为止所尝试的,在这种情况下,n = 1:

x = np.array([1, 2]) # Create a 1-by-2 array
y = [x] # Create an n-by-2 array (n = 1), and assign the first row to x
z = np.array([1, 2]) # Create another 1-by-2 array
if z in y: # Check if y contains the row z
    print 'yes it is'
Run Code Online (Sandbox Code Playgroud)

但是,这给了我以下错误:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() …
Run Code Online (Sandbox Code Playgroud)

python numpy

4
推荐指数
2
解决办法
6807
查看次数

使用不同的缓冲区在 OpenGL 中绘制多个对象

使用 OpenGL 着色器,我想渲染两个对象。每个都由三角形的一组顶点位置和顶点索引定义。当我制作缓冲区时,我使用以下代码:

// Object 1 vertex positions
glBindBuffer(GL_ARRAY_BUFFER, object1_vertex_buffer);
glBufferData(GL_ARRAY_BUFFER, object1_vertices_size, object1_vertices, GL_STATIC_DRAW);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);

// Object 1 vertex indices
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object1_index_buffer);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, object1_indices_size, object1_indices, GL_STATIC_DRAW);

// Object 2 vertex positions
glBindBuffer(GL_ARRAY_BUFFER, object2_vertex_buffer);
glBufferData(GL_ARRAY_BUFFER, object2_vertices_size, object2_vertices, GL_STATIC_DRAW);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);

// Object 2 vertex indices
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object2_index_buffer);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, object2_indices_size, object2_indices, GL_STATIC_DRAW);
Run Code Online (Sandbox Code Playgroud)

然后当我渲染场景时,我使用以下代码:

// Object 1
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object1_index_buffer);
glDrawElements(GL_TRIANGLES, object1_num_indices, GL_UNSIGNED_INT, (void*)0);

// Object 2
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object2_index_buffer);
glDrawElements(GL_TRIANGLES, object2_num_indices, GL_UNSIGNED_INT, (void*)0);
Run Code Online (Sandbox Code Playgroud)

但是,这会导致仅绘制对象 2。我究竟做错了什么?

opengl

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

在PIL中旋转一个正方形

使用PIL,我想通过指定方形边​​长和旋转角来在图像上绘制旋转的方形.方块应为白色,背景为灰色.例如,以下图像的旋转角度为45度:

在此输入图像描述

我知道如何在PIL中进行旋转的唯一方法是旋转整个图像.但是,如果我从下面的图像开始:

在此输入图像描述

然后旋转45度,我明白了:

在此输入图像描述

该方法仅引入黑色部分以填充图像的"未定义"区域.

我怎么才能旋转正方形?

生成我原始方块的代码(第二个图)如下:

from PIL import Image

image = Image.new('L', (100, 100), 127)
pixels = image.load()

for i in range(30, image.size[0] - 30):
    for j in range(30, image.size[1] - 30):
        pixels[i, j] = 255

rotated_image = image.rotate(45)
rotated_image.save("rotated_image.bmp")
Run Code Online (Sandbox Code Playgroud)

python python-imaging-library pillow

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

在Tensor Flow中实现Siamese网络

我想实现一个Siamese卷积神经网络,其中两个图像在卷积层中共享权重,然后在通过完全连接的层之前连接.我试过一个实现,但它似乎是一个"黑客"解决方案.特别是,我已经将张量上的操作定义为简单的Python函数,我不确定这是否允许.

这是我尝试过的代码:

images = tf.placeholder(tf.float32, shape=[None, 64 * 64])
# Convolutional layers
# ...
# ...
# Results in pool3_flat, which is the flattened output of the third convolutional layer
pool3_flat = tf.reshape(pool3, [-1, 8 * 8 * 128])

# Now, merge the image pairs, where each pair is composed of adjacent images in the batch, with a stride of 2
def merge_pairs():
  # Create a tensor to store the merged image pairs
  # The batch size is 128, therefore …
Run Code Online (Sandbox Code Playgroud)

tensorflow

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

将 cmake 与 Code::Blocks 结合使用

我刚刚开始使用 Code::Blocks 编辑 C++ 代码,到目前为止一直使用 Qt Creator。我希望能够编辑和编译一些现有代码,其中包含 CMakeLists.txt 文件。我怎样才能做到这一点?

使用 Qt Creator,您可以指定一个脚本,当从菜单中单击“构建”时将运行该脚本。例如,您可以指定“cmake ../src”,然后指定“make”。有没有办法使用 Code::Blocks 来做到这一点?

c++ cmake codeblocks

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

策略迭代与值迭代

在强化学习中,我试图理解策略迭代和值迭代之间的区别.这里有一些一般的答案,但我有两个具体的问题,我找不到答案.

1)我听说政策迭代"向前工作",而价值迭代"向后工作".这是什么意思?我认为这两种方法只需要采用每个状态,然后查看它可以达到的所有其他状态,并从中计算出值 - 通过边缘化策略的动作分配(策略迭代)或者将argmax与动作值(值迭代).那么为什么每种方法都"移动"的"方向"有什么概念呢?

2)策略迭代需要在策略评估期间进行迭代过程,以找到值函数 - 然而,值迭代只需要一步.为什么会有所不同?为什么值迭代只需一步收敛?

谢谢!

machine-learning reinforcement-learning

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