我一直在TensorFlow中使用矩阵乘法的介绍性示例.
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1, matrix2)
Run Code Online (Sandbox Code Playgroud)
当我打印产品时,它将其显示为Tensor对象:
<tensorflow.python.framework.ops.Tensor object at 0x10470fcd0>
Run Code Online (Sandbox Code Playgroud)
但我怎么知道它的价值product?
以下内容没有帮助:
print product
Tensor("MatMul:0", shape=TensorShape([Dimension(1), Dimension(1)]), dtype=float32)
Run Code Online (Sandbox Code Playgroud)
我知道图表会运行Sessions,但是没有任何方法可以在Tensor不运行图形的情况下检查对象的输出session?
对于任何Keras层(Layer类),可有人解释如何理解之间的区别input_shape,units,dim,等?
例如,doc说明了units指定图层的输出形状.
在神经网络的图像下面hidden layer1有4个单位.这是否直接转换为对象的units属性Layer?或者units在Keras中,隐藏层中每个权重的形状是否等于单位数?
我view()对以下代码片段中的方法感到困惑.
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(3, 6, 5)
self.pool = nn.MaxPool2d(2,2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.fc1 = nn.Linear(16*5*5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = x.view(-1, 16*5*5)
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x
net = Net()
Run Code Online (Sandbox Code Playgroud)
我的困惑在于以下几行.
x = x.view(-1, 16*5*5)
Run Code Online (Sandbox Code Playgroud)
tensor.view()功能有什么作用?我已经在许多地方看到了它的用法,但我无法理解它如何解释它的参数.
如果我将负值作为参数给view()函数会发生什么?例如,如果我打电话会发生什么tensor_variable.view(1, 1, -1)?
任何人都可以view()通过一些例子解释功能的主要原理吗?
我正在寻找在PyTorch中保存训练模型的替代方法.到目前为止,我找到了两种选择.
我的问题是,为什么第二种方法更受欢迎?是否因为torch.nn模块具有这两个功能而我们被鼓励使用它们?
我试图复制如何使用包装为rnn的可变长度序列输入,但我想我首先需要理解为什么我们需要"打包"序列.
我理解为什么我们需要"填充"它们,但为什么要"打包"(通过pack_padded_sequence)必要?
任何高级别的解释将不胜感激!
deep-learning recurrent-neural-network pytorch tensor zero-padding
我定义了一个像这样的张量:
x = tf.get_variable("x", [100])
但是当我尝试打印张量的形状时:
print( tf.shape(x) )
我得到Tensor("Shape:0",shape =(1,),dtype = int32),为什么输出的结果不应该是shape =(100)
我正在尝试一个不按预期行事的Op.
graph = tf.Graph()
with graph.as_default():
train_dataset = tf.placeholder(tf.int32, shape=[128, 2])
embeddings = tf.Variable(
tf.random_uniform([50000, 64], -1.0, 1.0))
embed = tf.nn.embedding_lookup(embeddings, train_dataset)
embed = tf.reduce_sum(embed, reduction_indices=0)
Run Code Online (Sandbox Code Playgroud)
所以我需要知道Tensor的尺寸embed.我知道它可以在运行时完成,但这对于这么简单的操作来说太过分了.什么是更简单的方法呢?
我是TensorFlow的新手.在阅读现有文档时,我发现该术语tensor确实令人困惑.因此,我需要澄清以下问题:
tensor&Variable,tensortf.constant'张量'对比有tf.placeholder什么关系?什么是倍增(逐元素)2D张量(矩阵)的最有效方法:
x11 x12 .. x1N
...
xM1 xM2 .. xMN
Run Code Online (Sandbox Code Playgroud)
通过垂直向量:
w1
...
wN
Run Code Online (Sandbox Code Playgroud)
获得一个新的矩阵:
x11*w1 x12*w2 ... x1N*wN
...
xM1*w1 xM2*w2 ... xMN*wN
Run Code Online (Sandbox Code Playgroud)
为了给出一些上下文,我们M在批处理中可以并行处理数据样本,并且每个N元素样本必须乘以w存储在变量中的权重,以最终Xij*wj为每行选择最大值i.
python linear-algebra matrix-multiplication tensorflow tensor
我正在阅读的介绍性文档(TOC在这里)在没有定义的情况下引入了这个术语.
[1] https://www.tensorflow.org/get_started/
[2] https://www.tensorflow.org/tutorials/mnist/tf/
Run Code Online (Sandbox Code Playgroud) machine-learning neural-network deep-learning tensorflow tensor
tensor ×10
python ×7
tensorflow ×6
pytorch ×3
keras ×1
keras-layer ×1
memory ×1
python-3.x ×1
torch ×1
zero-padding ×1