我正在使用一个非常小的模型来使用 tensorflow 2.3 和 keras 进行测试。查看我的终端,我收到以下警告:
I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:118] None of the MLIR optimization passes are enabled (registered 1)
Run Code Online (Sandbox Code Playgroud)
但是,代码按预期工作。但是这个消息是什么意思?
谢谢。
在LSTM网络(了解LSTM)中,为什么输入门和输出门使用tanh?这背后的直觉是什么?它只是一个非线性变换?如果是,我可以将两者都更改为另一个激活功能(例如ReLU)吗?
machine-learning deep-learning lstm recurrent-neural-network activation-function
sparse_categorical_crossentropy和 和有categorical_crossentropy什么区别?什么时候应该使用一种损失而不是另一种?例如,这些损失是否适合线性回归?
我想知道是否有一种方法可以为不同的层使用不同的学习率,就像Caffe中的那样.我正在尝试修改预先训练的模型并将其用于其他任务.我想要的是加快新增加的层的训练,并使训练好的层保持低学习率,以防止它们被扭曲.例如,我有一个5-conv层预训练模型.现在我添加一个新的转换层并对其进行微调.前5层的学习率为0.00001,最后一层的学习率为0.001.知道怎么做到这一点?
我正在使用深度学习库keras并尝试堆叠多个LSTM而没有运气.以下是我的代码
model = Sequential()
model.add(LSTM(100,input_shape =(time_steps,vector_size)))
model.add(LSTM(100))
Run Code Online (Sandbox Code Playgroud)
上面的代码在第三行返回错误 Exception: Input 0 is incompatible with layer lstm_28: expected ndim=3, found ndim=2
输入X是一个形状的张量(100,250,50).我在tensorflow后端运行keras
我正在尝试用不平衡的数据训练网络.我有A(198个样本),B个(436个样本),C个(710个样本),D个(272个样本),我读过"weighted_cross_entropy_with_logits"但我发现的所有例子都是二进制分类所以我不是很对如何设置这些重量充满信心.
样本总数:1616
A_weight:198/1616 = 0.12?
如果我理解的话,背后的想法是惩罚少数民族阶级的错误,并且更加积极地评价少数民族中的命中,对吧?
我的代码:
weights = tf.constant([0.12, 0.26, 0.43, 0.17])
cost = tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits=pred, targets=y, pos_weight=weights))
Run Code Online (Sandbox Code Playgroud)
我已经阅读了这个和其他二进制分类的例子,但仍然不是很清楚.
提前致谢.
为什么我们需要在PyTorch中明确归零渐变?loss.backward()调用时为什么渐变不能归零?通过在图表上保持渐变并要求用户明确归零渐变来实现什么样的场景?
我已经看到了使用多种功能,从人tf.gfile如tf.gfile.GFile或tf.gfile.Exists.我有想法tf.gfile处理文件.但是,我还没有找到官方文档来查看它提供的其他内容.
如果你可以帮助我,那就太棒了.
我想从以下层开始训练深度网络:
model = Sequential()
model.add(Conv2D(32, 3, 3, input_shape=(32, 32, 3)))
Run Code Online (Sandbox Code Playgroud)
运用
history = model.fit_generator(get_training_data(),
samples_per_epoch=1, nb_epoch=1,nb_val_samples=5,
verbose=1,validation_data=get_validation_data()
Run Code Online (Sandbox Code Playgroud)
使用以下生成器:
def get_training_data(self):
while 1:
for i in range(1,5):
image = self.X_train[i]
label = self.Y_train[i]
yield (image,label)
Run Code Online (Sandbox Code Playgroud)
(验证生成器看起来类似).
在培训期间,我收到错误:
Error when checking model input: expected convolution2d_input_1 to have 4
dimensions, but got array with shape (32, 32, 3)
Run Code Online (Sandbox Code Playgroud)
怎么可能,第一层
model.add(Conv2D(32, 3, 3, input_shape=(32, 32, 3)))
Run Code Online (Sandbox Code Playgroud)
?
zero_grad()需要在训练期间调用该方法.但文档不是很有帮助
| zero_grad(self)
| Sets gradients of all model parameters to zero.
Run Code Online (Sandbox Code Playgroud)
为什么我们需要调用这个方法?
python neural-network gradient-descent deep-learning pytorch