小编Lin*_*Guo的帖子

Tensorflow:应定义输入的通道维度

我是 Tensorflow 新手,正在尝试训练特定的深度学习神经网络。我正在使用 Tensorflow (2.11.0) 来获取深度神经网络模型,如下所述。我使用的数据也给出如下:

数据:

这是一些示例数据。为了方便起见,我们可以考虑数据中的 10 个样本。在这里,每个样本都有形状:(128,128)

可以将以下代码视为示例训练数据。

x_train = np.random.rand(10, 128, 128, 1)
Run Code Online (Sandbox Code Playgroud)

归一化层:

normalizer = tf.keras.layers.Normalization(axis=-1)
normalizer.adapt(x_train)
Run Code Online (Sandbox Code Playgroud)

构建模型:

def build_and_compile_model(norm):
    model = tf.keras.Sequential([
      norm,
      layers.Conv2D(128, 128, activation='relu'),
      layers.Conv2D(3, 3, activation='relu'),
      layers.Flatten(),
      layers.Dense(units=32, activation='relu'),
      layers.Dense(units=1)
    ])

    model.compile(loss='mean_absolute_error', optimizer=tf.keras.optimizers.Adam(0.001))
    
    return model
Run Code Online (Sandbox Code Playgroud)

当我做

dnn_model = build_and_compile_model(normalizer)
dnn_model.summary()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError: The channel dimension of the inputs should be defined. The input_shape received is (None, None, None, None), where axis -1 (0-based) is the channel dimension, which found …
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning keras tensorflow

8
推荐指数
1
解决办法
404
查看次数

在Go中克隆浮动切片而不影响原始切片

我想克隆一个[][]float64 sliceinGo而不影响原始数组。我该怎么做?

在下面的示例中,我希望切片在更改a1时保持不受影响。a2目前我使用的是Go内置的append函数。但我一直无法获得所需的功能。

package main

import (
    "fmt"
)

func main() {
    a1 := [][]float64{[]float64{1.0,1.0}, []float64{2.0,2.1}}   
    a2 := make([][]float64, len(a1))
    
    a2 = append([][]float64{}, a1...)
    fmt.Println(a2, a1) // At this step, a1 has not changed.
    
    a2[1][0] = 5.0 //Change value of one element of a2.
    
    fmt.Println(a2, a1) // At this step, a1 has changed.
}

>> [[1 1] [2 2.1]] [[1 1] [2 2.1]]
>> [[1 1] [5 2.1]] [[1 1] [5 2.1]] …
Run Code Online (Sandbox Code Playgroud)

arrays go slice

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

通过例子理解LSTM

我想在 LSTM 中编码一个时间步。我的重点是理解遗忘门层输入门层候选值现在未来的 细胞状态的功能

让我们假设我在 t-1 和 xt 的隐藏状态如下。为简单起见,我们假设权重矩阵是单位矩阵,并且所有偏差都为零。

htminus1 = np.array( [0, 0.5, 0.1, 0.2, 0.6] )
xt = np.array( [-0.1, 0.3, 0.1, -0.25, 0.1] )
Run Code Online (Sandbox Code Playgroud)

我知道忘记状态是 sigmoidhtminus1xt

那么,是吗?

ft = 1 / ( 1 + np.exp( -( htminus1 + xt ) ) )

>> ft = array([0.47502081, 0.68997448, 0.549834  , 0.4875026 , 0.66818777])
Run Code Online (Sandbox Code Playgroud)

我指的是这个链接来实现一个块 LSTM 的一次迭代。链接说ft应该是 0 或 1。我在这里遗漏了什么吗?

如何根据下面提到的图片中给出的模式获得遗忘门层?一个例子对我来说是说明性的。

在此处输入图片说明

同样, …

python neural-network lstm recurrent-neural-network

3
推荐指数
1
解决办法
92
查看次数

使用python从文本文件中交叉行

我有许多文本文件,其中包含文本和数字条目.更具体地说,所有这些文件的前两行和第一列是文本,所有其他条目由数字组成.例如,让我们考虑三种单独的文本文件(文件A,B和C),格式如下所示.

文件A:

Type    A1  A2  A3  A4  A5
Tag TagA1   TagA1   TagA1   TagA2   TagA2
object1 1.1 2.1 3.1 4.1 5.1
object2 1.2 2.2 3.2 4.2 5.2
object4 1.4 2.4 3.4 4.4 5.4
object7 1.7 2.7 3.7 4.7 5.7
object8 1.8 2.8 3.8 4.8 5.8
object9 1.9 2.9 3.9 4.9 5.9
Run Code Online (Sandbox Code Playgroud)

档案B:

Type    B1  B2  
Tag TagB1   TagB2   
object1 11.1    12.1    
object3 11.3    12.3    
object4 11.4    12.4    
object5 11.5    12.5    
object7 11.7    12.7    
object9 11.9    12.9    
Run Code Online (Sandbox Code Playgroud)

文件C:

Type    C1  C2  C3 …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

2
推荐指数
1
解决办法
221
查看次数