小编era*_*129的帖子

在 EMR 集群上安装 pandas

TLDR - 我想sudo yes | sudo pip3 uninstall numpy在 EMR 引导操作中运行该命令两次,但它只运行一次。

我首先要说的是,我的目标是运行一个支持 Pyspark 的 EMR 托管笔记本,在 EMR 集群上运行。由于各种原因,我还需要在集群上安装 pandas。首先,我遇到了一个问题,即默认 python3 安装中存在两个 numpy 版本,并且必须将它们都删除才能使用较新的版本(如本线程中所示 - How do I have multiple versions of numpyinstalled on Amazon EMR and how to我删除早期版本?)。

如果我 ssh 到主节点并执行sudo yes | sudo pip3 uninstall numpy两次,它会起作用:

[hadoop@ip-xxx-xx-xx-xxx ~]$ sudo yes | sudo pip3 uninstall numpy
Uninstalling numpy-1.21.1:
  /usr/bin/f2py
  /usr/local/bin/f2py
  /usr/local/bin/f2py3
  /usr/local/bin/f2py3.7
    .......
    .......
    .......
  /usr/local/lib64/python3.7/site-packages/numpy/typing/tests/test_runtime.py
  /usr/local/lib64/python3.7/site-packages/numpy/typing/tests/test_typing.py
  /usr/local/lib64/python3.7/site-packages/numpy/version.py
Proceed (y/n)?   Successfully uninstalled numpy-1.21.1
[hadoop@ip-xxx-xx-xx-xxx ~]$ …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services amazon-emr pyspark

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

在 Keras 中修改图层参数

我对更新 Keras 中现有的图层参数感兴趣(不是删除图层并插入一个新图层,而只是修改现有参数)。

我将举一个我正在编写的函数的例子:

def add_filters(self, model):
    conv_indices = [i for i, layer in enumerate(model.layers) if 'convolution' in layer.get_config()['name']]
    random_conv_index = random.randint(0, len(conv_indices)-1)
    factor = 2
    conv_layer = model.layers[random_conv_index]
    conv_layer.filters = conv_layer.filters * factor
    print('new conv layer filters after transform is:', conv_layer.filters)
    print('just to make sure, its:', model.layers[random_conv_index].filters)
    return model
Run Code Online (Sandbox Code Playgroud)

所以这里基本上发生的事情是我从我的网络中随机抽取一个卷积层(我所有的卷积层的名称中都有“卷积”)并尝试将过滤器加倍。据我所知,在任何情况下,这都不会导致输入/输出大小兼容性的任何“编译问题”。

问题是,我的模型根本没有改变。我最后添加的 2 个打印输出打印了正确的数字(是之前过滤器数量的两倍)。但是当我编译模型并打印model.summary()时,我仍然看到了之前的过滤量。

顺便说一句,我并不局限于 Keras。如果有人知道如何使用 PyTorch 实现这一点,我也会购买它:D

python neural-network deep-learning conv-neural-network keras

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