用tensorflow2定义一个层,实现17*3的张量变为17*1
时间: 2023-04-05 09:03:26 浏览: 147
tensorflow多维张量计算实例
可以使用以下代码定义一个层,将17*3的张量变为17*1:
```python
import tensorflow as tf
class MyLayer(tf.keras.layers.Layer):
def __init__(self):
super(MyLayer, self).__init__()
def build(self, input_shape):
self.w = self.add_weight(shape=(input_shape[-1], 1),
initializer='random_normal',
trainable=True)
def call(self, inputs):
return tf.matmul(inputs, self.w)
```
然后,可以将这个层应用于输入张量,如下所示:
```python
import numpy as np
x = np.random.rand(17, 3)
layer = MyLayer()
y = layer(x)
print(y.shape) # 输出 (17, 1)
```
阅读全文