小编Poe*_*tor的帖子

tf.keras model.predict 导致内存泄漏

在谷歌 Colab 工作。使用tf.kerastensorflow版本2.3.0我变得疯狂,因为我无法使用我训练过的模型来运行预测,model.predict因为它耗尽了CPU RAM。我已经能够用一个非常小的例子重现这个问题。

import numpy as np
import tensorflow as tf
from tensorflow.keras import backend as K
from tensorflow.keras.layers import Input,Conv2D, Activation

matrixSide = 512 #define a big enough matrix to give memory issues

inputL = Input([matrixSide,matrixSide,12]) #create a toy model
l1 = Conv2D(32,3,activation='relu',padding='same') (inputL) #120
l1 = Conv2D(64,1,activation='relu',padding='same')(l1)
l1 = Conv2D(64,3,activation='relu',padding='same')(l1)
l1 = Conv2D(1,1,padding='same')(l1)
l1 = Activation('linear')(l1)
model = Model(inputs= inputL,outputs = l1)


#run predictions
inImm = np.zeros((64,matrixSide,matrixSide,12))
for i in range (60):
  print(i) …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow google-colaboratory

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

Keras 在拟合期间淹没 Jupyter 单元输出(verbose=1)

当使用“verbose=1”选项在 Jupyter notebook 中运行 keras 模型时,我开始获得的不是单行进度状态更新,而是批量更新的大量状态行。见附图。重新启动 jupyter 或浏览器没有帮助。Jupyter notebook 服务器是:5.6.0,keras 是 2.2.2,Python 是 Python 3.6.5 请帮忙。

单元格内容:

history = model.fit(x=train_df_scaled,y=train_labels,batch_size=BATCH_SIZE,epochs=EPOCHS,verbose=1, validation_data=(validation_df_scaled,validation_labels),shuffle=True)

输出洪水示例:(它是这样的数千行)

损失:217.5794 - mean_absolute_error:11.166 - ETA:32:42 - 损失:216.9500 - mean_absolute_error:11.165 - ETA:32:21 - 损失:216.6378 - mean_absolute_16:205-16-16 误差-16-16-1604 ETA: 31:41 - 损失: 215.6621 - mean_absolute_error: 11.166 - ETA: 31:21 - 损失: 215.4639 - mean_absolute_error: 11.171 - ETA: 31:02 - 损失: 215.7 mean_absolute_error:-1165-3504 214.6583 - mean_absolute_error: 11.169 - ETA: 30:27 - loss: 213.8844 - mean_absolute_error: 11.164 - ETA: 30:10 …

python jupyter keras jupyter-notebook tqdm

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

将 tf.contrib.layers.xavier_initializer() 更改为 2.0.0

我该如何改变

tf.contrib.layers.xavier_initializer()
Run Code Online (Sandbox Code Playgroud)

tf 版本 >= 2.0.0 ??

所有代码:

W1 = tf.get_variable("W1", shape=[self.input_size, h_size],
                             initializer=tf.contrib.layers.xavier_initializer())
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow tensorflow2.0

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

在 Pytorch 中实现 SeparableConv2D

主要目标

PyTorch 等效于 SeparableConv2D padding = 'same'

from tensorflow.keras.layers import SeparableConv2D
x = SeparableConv2D(64, (1, 16), use_bias = False, padding = 'same')(x)
Run Code Online (Sandbox Code Playgroud)

SeparableConv2D 的 PyTorch 等效项是什么?

消息来源说:

如果 groups = nInputPlane,kernel=(K, 1),(之前是一个 Conv2d 层,groups=1 且 kernel=(1, K)),那么它是可分离的。

虽然该消息来源说:

其核心思想是将一个完整的卷积酸分解为两步计算,即Depthwise Convolution和Pointwise。

这是我的尝试:

class SeparableConv2d(nn.Module):
    def __init__(self, in_channels, out_channels, depth, kernel_size, bias=False):
        super(SeparableConv2d, self).__init__()
        self.depthwise = nn.Conv2d(in_channels, out_channels*depth, kernel_size=kernel_size, groups=in_channels, bias=bias)
        self.pointwise = nn.Conv2d(out_channels*depth, out_channels, kernel_size=1, bias=bias)

    def forward(self, x):
        out = self.depthwise(x)
        out = self.pointwise(out)
        return …
Run Code Online (Sandbox Code Playgroud)

python convolution conv-neural-network tensorflow pytorch

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

如何设置 tqdm 的默认进度条颜色和背景颜色?

我在 Jupiter 笔记本中使用 tqdm。通常我会在白色背景上看到一个绿色进度条。但是,现在我看到粉红色背景上有一个黑色进度条:

import tqdm, tqdm.notebook
from time import sleep

# first progress bar
for i in tqdm.notebook.tqdm(range(10)):
    sleep(.1)

# second progress bar
for i in tqdm.notebook.tqdm(range(10)):
    sleep(.1)
    
# third progress bar
for i in tqdm.tqdm(range(10)):
    sleep(.1)
    
# fourth progress bar
for i in tqdm.tqdm(range(10), colour='green'):
    sleep(.1)
Run Code Online (Sandbox Code Playgroud)

产生这四个条:

在此输入图像描述

我想要的是一个绿色的进度条,没有粉红色的背景。

我安装 PyQt5 后出现了这种行为变化。我已经卸载了,但行为仍然存在。

另外,以前我tqdm.notebook.tqdm在笔记本中使用过进度条。现在该函数不显示进度条(条 1 和条 2)。我需要使用tqdm.tqdm(第 3 条和第 4 条)。

我认为问题与后端有关。

python progress-bar tqdm

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