小编Sam*_*uel的帖子

在amxn矩阵中绘制矩形,圆形或任意多边形

我想模拟二维物体周围的流动.因此我在C中编写了一个程序,它使用Navier-Stokes方程来描述流体的运动.现在我想到的不仅仅是在模拟域中放置一个矩形.要绘制这样一个矩形,我只需要执行以下操作:

for(int i=start_x; i<end_x; i++)
    for(int j=start_y; j<end_y; j++)
        M[i][j] = 1; // barrier cell = 1
Run Code Online (Sandbox Code Playgroud)

这样做我得到一个漂亮的矩形.没有惊喜.但是,如果我想模拟圆形,十字形,三角形,翼形轮廓或任何其他任意多边形的流动,那会是什么方法呢?有没有一种简单的方法可以在M大小矩阵中绘制这样的2D对象m x n


我刚刚找到了一种简单的方法来绘制我想要的几乎任何形状.@Nominal Animal的答案激励我找到这个解决方案.我只是使用一个.png文件并.pgm使用该命令将其转换为文件convert picture.png picture.pgm(使用Linux).在我的代码中,我只需要更多行:

FILE *pgmFile;
pgmFile = fopen("picture.pgm", "r");
for(int i=0; i<1024; i++){
    for(int j=0; j<1024; j++){
        int d = fgetc(pgmFile);
        if(d < 255){
            M[i][j] = 1; // barrier cell = 1
        }
    }
}
fclose(pgmFile);
Run Code Online (Sandbox Code Playgroud)

这里我使用1024 x 1024像素的图片.如果像素的值小于255(不是白色),则将像素设置M[i][j]为1.这是我使用Stack Overflow标识生成的结果(通量来自左侧): 在此输入图像描述

速度图,Re = 20000(雷诺数)

c drawing matrix draw

12
推荐指数
2
解决办法
677
查看次数

如何将 Python 库添加到 Docker 镜像

今天我开始使用 Docker。所以请耐心等待。我什至不确定标题是否有意义。我刚刚使用 Docker 安装了 Tensorflow 并想运行一个脚本。但是,我收到以下错误消息,指出未安装 Matplotlib。

Traceback (most recent call last):
File "tf_mlp_v3.py", line 3, in <module>
import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib'
Run Code Online (Sandbox Code Playgroud)

我使用以下命令安装 Tensorflow

docker pull tensorflow/tensorflow:latest-gpu-jupyter
Run Code Online (Sandbox Code Playgroud)

我现在如何将其他 python 库(例如 Matplotlib)添加到该图像中?

python docker

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

重置Keras模型的所有权重

我希望能够重置整个 Keras 模型的权重,这样我就不必再次编译它。编译模型目前是我的代码的主要瓶颈。这是我的意思的一个例子:

import tensorflow as tf  

model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(16, activation='relu'),
    tf.keras.layers.Dense(10)
])

model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.001),
                loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
                metrics=['accuracy'])
   
data = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = data.load_data()

model.fit(x=x_train, y=y_train, epochs=10)

# Reset all weights of model here
# model.reset_all_weights() <----- something like that

model.fit(x=x_train, y=y_train, epochs=10)
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow

8
推荐指数
2
解决办法
7404
查看次数

如何计算 N 个有序集的交集?

下面的例子展示了如何计算两个集合的交集。STL 是否提供了不仅可以为 2 组而且可以为N组执行此操作的工具?

#include <iostream>    
#include <algorithm>
#include <vector>

int main()
{
    std::vector<int> v1 = { 1,2,9,3,4,5 };
    std::vector<int> v2 = { 9,4,2,7,4,1 };
    std::vector<int> v(v1.size() + v2.size());
    std::vector<int>::iterator it;

    std::sort(v1.begin(), v1.end());
    std::sort(v2.begin(), v2.end());
    it = std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), v.begin());

    v.resize(it - v.begin());
    std::cout << "Both sets have " << (v.size()) << " elements in common:\n";
    for (it = v.begin(); it != v.end(); ++it)
    {
        std::cout << *it << ' ';
    }
    std::cout << '\n';

    return …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm c++-standard-library set-intersection c++11

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

使用 Python 创建棋盘分布

我想在 Python 中创建一个棋盘分布。

目前我使用以下脚本来创建一个2 x 2大小的棋盘:

import numpy as np
import matplotlib.pyplot as plt

n_points = 1000
n_classes = 2

x = np.random.uniform(-1,1, size=(n_points, n_classes))
mask = np.logical_or(np.logical_and(x[:,0] > 0.0, x[:,1] > 0.0), \
np.logical_and(x[:,0] < 0.0, x[:,1] < 0.0))
y = np.eye(n_classes)[1*mask]

plt.scatter(x[:,0], x[:,1], c=y[:,0], cmap="bwr", alpha=0.5)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这创造了

在此处输入图片说明

我想知道是否存在一种简单的方法来概括上述代码以创建大小的棋盘分布n x n

编辑

使用@jpf 很好的解决方案

import numpy as np
import matplotlib.pyplot as plt
from numpy import sin

n_points = 10000
n_classes = 2
n = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

如何将 Keras 模型保存为冻结图?

我正在使用 Tensorflow 2.0 并希望将以下 Keras 模型存储为冻结图。

import tensorflow as tf
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(64, input_shape=[100]))
model.add(tf.keras.layers.Dense(32, activation='relu'))
model.add(tf.keras.layers.Dense(16, activation='relu'))
model.add(tf.keras.layers.Dense(2, activation='softmax'))
model.summary()
model.save('./models/')
Run Code Online (Sandbox Code Playgroud)

我在 Tensorflow 2.0 中找不到任何好的例子来做到这一点。我在 Tensorflow Github 存储库中找到了freeze_graph.py文件,但发现我很难理解它。

我使用以下方法加载上述文件:

from tensorflow.python.tools.freeze_graph import freeze_graph
Run Code Online (Sandbox Code Playgroud)

但是我到底需要为freeze_graph函数本身提供什么?在这里,我用问号标记了我不确定的论点。

freeze_graph(input_graph=?,
             input_saver='',
             input_binary=False,
             input_checkpoint=?,
             output_node_names=?,
             restore_op_name='',
             filename_tensor_name='',
             output_graph='./frozen_graph.pb',
             clear_devices=True,
             initializer_nodes='')
Run Code Online (Sandbox Code Playgroud)

有人可以提供一个简单的示例来说明如何使用该freeeze_graph函数将上面的模型存储为冻结图吗?

python keras tensorflow tensorflow2.0

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

JAX 的 vmap 中的 in_axes 关键字

我试图使用vmap基于 JAX 文档的最小工作示例来了解 JAX 的自动矢量化功能。

我不明白如何in_axes正确使用。在下面的示例中,我可以设置in_axes=(None, 0)in_axes=(None, 1)导致相同的结果。为什么会这样?

为什么我必须使用in_axes=(None, 0)而不是类似的东西in_axes=(0, )

import jax.numpy as jnp
from jax import vmap


def predict(params, input_vec):
    assert input_vec.ndim == 1
    activations = input_vec
    for W, b in params:
        outputs = jnp.dot(W, activations) + b
        activations = jnp.tanh(outputs)
    return outputs


if __name__ == "__main__":

    # Parameters
    dims = [2, 3, 5]
    input_dims = dims[0]
    batch_size = 2

    # Weights
    params = list()
    for …
Run Code Online (Sandbox Code Playgroud)

auto-vectorization jax

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

Matlab:二进制矩阵的所有组合

我正在寻找一种简单的方法来获得二进制矩阵的所有组合.我已经尝试过该功能,perms()但没有得到正确的结果.

我有一个填充1和-1的矩阵N x N. 当N = 2时,将存在2 ^ 4个可能的1和-1组合

       (1 1)          (1  1)          (-1 -1)
M(1) = (1 1) , M(2) = (1 -1) , M(3) = ( 1  1) and so on...
Run Code Online (Sandbox Code Playgroud)

当我使用perms()时,我没有得到第一个矩阵.

我该如何解决这个问题?

binary matlab permutation matrix

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

Gnuplot:散点图和密度

我有代表星团的 x 和 y 数据点。我想使用 Gnuplot 及其带有重叠点的散点函数来可视化密度。

我使用了以下命令:

 set style fill transparent solid 0.04 noborder
 set style circle radius 0.01
 plot "data.dat" u 1:2 with circles lc rgb "red"
Run Code Online (Sandbox Code Playgroud)

结果:

在此处输入图片说明

但是我想要这样的东西

在此处输入图片说明

这在 Gnuplot 中可能吗?有任何想法吗?

gnuplot scatter-plot

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

Tensorflow:低级 LSTM 实现

我正在寻找在 Tensorflow 中使用 LSTM 单元的 RNN 的低级实现。我已经实现了几个使用低级 API 的前馈网络。这对我理解人工神经网络的内部运作有很大帮助。我可以对 RNN 做同样的事情,还是建议使用 LSTM 单元的 Tensorflow 实现(tf.nn.rnn_cell.BasicLSTMCell)?我没有在 Tensorflow 中找到任何 RNN 的低级实现。我在哪里可以找到这么低级的实现?Tensorflow 是为此而设计的吗?我可以从哪里开始?我希望我的一些问题可以在这里得到解答

python lstm tensorflow recurrent-neural-network

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