- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在构建卷积神经网络,用于将数据分类为不同类别输入数据的形状为:30000, 6, 15, 1该数据有 30000 个样本、15 个预测变量和 6 个可能的类别。
我的模型定义如下。
x = tf.placeholder("float", [None, 6,15,1])
y = tf.placeholder("float", [None, n_classes])
#Define Weights
weights = {
'wc1': tf.get_variable('W0', shape=(3,3,1,8), initializer=tf.contrib.layers.xavier_initializer()),
'wc2': tf.get_variable('W1', shape=(3,3,32,12), initializer=tf.contrib.layers.xavier_initializer()),
'wc3': tf.get_variable('W2', shape=(3,3,64,16), initializer=tf.contrib.layers.xavier_initializer()),
'wc4': tf.get_variable('W3', shape=(3,3,64,20), initializer=tf.contrib.layers.xavier_initializer()),
'wd1': tf.get_variable('W4', shape=(4*4*15,15), initializer=tf.contrib.layers.xavier_initializer()),
'out': tf.get_variable('W6', shape=(15,n_classes), initializer=tf.contrib.layers.xavier_initializer()),
}
biases = {
'bc1': tf.get_variable('B0', shape=(8), initializer=tf.contrib.layers.xavier_initializer()),
'bc2': tf.get_variable('B1', shape=(12), initializer=tf.contrib.layers.xavier_initializer()),
'bc3': tf.get_variable('B2', shape=(16), initializer=tf.contrib.layers.xavier_initializer()),
'bc4': tf.get_variable('B3', shape=(20), initializer=tf.contrib.layers.xavier_initializer()),
'bd1': tf.get_variable('B4', shape=(15), initializer=tf.contrib.layers.xavier_initializer()),
'out': tf.get_variable('B5', shape=(6), initializer=tf.contrib.layers.xavier_initializer()),
}
#Define convolutional layer
def conv2d(x, W, b, strides=1, reuse=True):
# Conv2D wrapper, with bias and relu activation
x = tf.nn.conv2d(x, W, strides=[1, strides, strides, 1], padding='SAME')
x = tf.nn.bias_add(x, b)
return tf.nn.relu(x)
#Define Maxpool layer
def maxpool2d(x, k=2):
return tf.nn.max_pool(x, ksize=[1, k, k, 1], strides=[1, k, k, 1],padding='SAME')
#Define a convolutional neural network function
def conv_net(x, weights, biases):
conv1 = conv2d(x, weights['wc1'], biases['bc1'])
conv1 = maxpool2d(conv1, k=2)
conv2 = conv2d(conv1, weights['wc2'], biases['bc2'])
conv2 = maxpool2d(conv2, k=2)
conv3 = conv2d(conv2, weights['wc3'], biases['bc3'])
conv3 = maxpool2d(conv3, k=2)
conv4 = conv2d(conv3, weights['wc4'], biases['bc4'])
conv4 = maxpool2d(conv4, k=2)
# Fully connected layer
# Reshape conv2 output to fit fully connected layer input
fc1 = tf.reshape(conv4, [-1, weights['wd1'].get_shape().as_list()[0]])
fc1 = tf.add(tf.matmul(fc1, weights['wd1']), biases['bd1'])
fc1 = tf.nn.relu(fc1)
# Output, class prediction
out = tf.add(tf.matmul(fc1, weights['out']), biases['out'])
return out
我收到错误:ValueError:尺寸必须相等,但“Conv2D_1”(操作:“Conv2D”)的尺寸为 8 和 32,输入形状为:[?,8,3,8], [3,3,32,12]。
当我执行时:
pred = conv_net(x, weights, biases)
我研究了多个 conv2D 模型,但其中大多数用于图像分类,我可能会在这里遗漏一些我无法识别的东西。请帮忙。
最佳答案
权重 wc2
、wc3
和 wc4
的输入 channel 数需要与权重的输出 channel 数相同之前的层。保持输出 channel 的数量不变,它们将更改为:
'wc1': tf.get_variable('W0', shape=(3,3,1,8), initializer=tf.contrib.layers.xavier_initializer()),
'wc2': tf.get_variable('W1', shape=(3,3,8,12), initializer=tf.contrib.layers.xavier_initializer()),
'wc3': tf.get_variable('W2', shape=(3,3,12,16), initializer=tf.contrib.layers.xavier_initializer()),
'wc4': tf.get_variable('W3', shape=(3,3,16,20), initializer=tf.contrib.layers.xavier_initializer()),
关于python - 卷积神经网络: Weights and Bias initialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53181837/
我想建立一个模型来预测输入信号的 future 响应,我的网络架构是[3,5,1]: 3 个输入, 隐藏层有 5 个神经元,并且 输出层有 1 个神经元。 我的问题是: 我们应该为每个隐藏层和输出层设
The flexbox layout algorithm is direction-agnostic as opposed to the block layout, which is vertical
系统信息 Colab tensorflow 2.2.0 描述当前的行为: 当我尝试解决自己的数据问题时遇到了这个错误,即多标签语义分割。 下面是代码 import tensorflow as tf i
我正在尝试使用 pycaffe 读取 caffe 网络中的权重和偏差。这是我的代码 weight = net.params[layer_name][0].data bias = net.params[
像这样一个由 2 个输入和 1 个输出组成的简单神经网络,没有偏差,似乎不起作用。 |input1||weight1 weight2| = Z |input2| 输出 = sigmoid(Z) 然而,
训练好了一个网络,想要查看网络里面参数是否经过BP算法优化过,可以直接读取网络里面的参数,如果一直是随机初始化的值,则证明训练代码有问题,需要改。 下面介绍如何直接读取网络的weight 和 bi
我有两个共面的多边形。 我试着做。 glEnable(GL_POLYGON_OFFSET_FILL); glPolygonOffset(0,1); 并期望一个明显“在”另一个之上。 在距离大约 70-
我有一个旨在进行反向传播的神经网络。 我一直在使用以下方法对隐藏层进行权重更新 Δwji = η × δj × yi 其中 δj 是 φ'(vj) * ej,其中 vj = Σi wjiyi,对于输出
我正在构建卷积神经网络,用于将数据分类为不同类别输入数据的形状为:30000, 6, 15, 1该数据有 30000 个样本、15 个预测变量和 6 个可能的类别。 我的模型定义如下。 x = tf.
Codahale 的“指标”收到的其中一个属性是“有偏见的”。 谁能解释一下这是什么意思? public Histogram newHistogram(Class klass,
在学习 float 在计算机中如何表示时,我遇到了我不太理解的术语“偏差值”。 float 中的偏差值与 float 指数部分的负数和正数有关。 float 的偏置值为127,这意味着 float 的
我正在尝试在tensor2tensor中创建一个简单的基于LSTM的RNN。 到目前为止,训练似乎有效,但我无法恢复模型。尝试这样做会抛出 NotFoundError ,指出 LSTM 中的偏差节点:
吴恩达的讲座说过 J= -1/m * 总和 (y*log(h(x))+(1-y)log(1-h(x))) 但是在 https://www.tensorflow.org/get_started/mnis
我在 R 中使用随机森林的回归模型,我发现参数 corr.bias 根据手册是“实验性的”,我的数据是非线性的,我只是想知道将此参数设置为 true 是否可以增强结果,加上我不知道它对于非线性数据到底
我在 CartPole 问题上遇到了困难。 购物车的输入采用0 或1 作为输入;向左或向右移动。 假设我们有一个包含4 个输入 加上偏置、3 个隐藏层 和每个1 个神经元 的网络和 1 个输出;在哪里
我想模拟 N 面偏置模具? def roll(N,bias): '''this function rolls N dimensional die with biasing provided'
在以下情况下,如何确定函数返回 0 或 1 的概率: Let the function_A return 0 with probability 40% and 1 with probability 6
在 GL ES 2.0 中,texture2DLod 函数在片段着色器中不可用。我需要移植 GLSL 着色器。 在 GL ES 2.0 中我只能使用texture2D(sampler2D sample
我有一个机器学习问题,我不知道是否有理论上的解决方案。 我有 标记 数据(我们称之为数据集 D1 )来构建随机森林分类模型并且它表现良好。 现在我的主要兴趣是将此模型应用于另一个数据集 D2 它的标签
假设我正在计算 1 到 100 之间的随机数。我希望它选择的数字是随机的,但我可以设置一个更有可能选择中心的位置。因此,如果我做随机样本让我们说一千次,那么中心数字被更频繁地选择会有明显的相关性。它选
我是一名优秀的程序员,十分优秀!