中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

keras中slice layer層是如何實現的

發布時間:2020-07-17 10:26:55 來源:億速云 閱讀:698 作者:小豬 欄目:開發技術

這篇文章主要講解了keras中slice layer層是如何實現的,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

注意的地方: keras中每層的輸入輸出的tensor是張量, 比如Tensor shape是(N, H, W, C), 對于tf后臺, channels_last

Define a slice layer using Lamda layer
def slice(x, h2, h3, w1, w2):
 """ Define a tensor slice function
 """
 return x[:, h2:h3, w1:w2, :]

定義完slice function之后,利用lambda layer添加到定義的網絡中去

# Add slice layer
slice_1 = Lambda(slice, arguments={'h2': 0, 'h3': 6, 'w1': 0, 'w2': 6})(sliced)
# As for tensorfow backend, Lambda doesn't need output shape argument
slice_2 = Lambda(slice, arguments={'h2': 0, 'h3': 6, 'w1': 6, 'w2': 12})(sliced)

補充知識:tensorflow和keras張量切片(slice)

Notes

想將一個向量keras中slice layer層是如何實現的 分割成兩部分:keras中slice layer層是如何實現的 操作大概是:

keras中slice layer層是如何實現的

在 TensorFlow 中,用 tf.slice 實現張量切片,Keras 中自定義 Lambda 層實現。

TensorFlow

tf.slice(input_, begin, size, name=None)

input_:tf.tensor,被操作的 tensor

begin:list,各個維度的開始下標

size:list,各個維度上要截多長

import tensorflow as tf

with tf.Session() as sess:
 a = tf.constant([1, 2, 3, 4, 5])
 b = tf.slice(a, [0], [2]) # 第一個維度從 0 開始,截 2 個
 c = tf.slice(a, [2], [3]) # 第一個維度從 2 開始,截 3 個
 print(a.eval())
 print(b.eval())
 print(c.eval())

輸出

[1 2 3 4 5]
[1 2]
[3 4 5]

Keras

from keras.layers import Lambda
from keras.models import Sequential
import numpy as np

a = np.array([[1, 2, 3, 4, 5]])
model = Sequential([
 Lambda(lambda a: a[:, :2], input_shape=[5]) # 第二維截前 2 個
])

print(model.predict(a))

輸出

[[1. 2.]]

看完上述內容,是不是對keras中slice layer層是如何實現的有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴国县| 宁远县| 分宜县| 曲周县| 鄱阳县| 北京市| 成都市| 大渡口区| 剑川县| 全州县| 太仓市| 岢岚县| 建始县| 鹤庆县| 抚顺市| 巴南区| 阜城县| 南华县| 高平市| 杨浦区| 仙桃市| 古蔺县| 都江堰市| 怀远县| 清新县| 增城市| 南江县| 措美县| 凤凰县| 河池市| 黄梅县| 洛阳市| 新龙县| 滨州市| 石台县| 河南省| 五河县| 任丘市| 永德县| 开封市| 延庆县|