np.concatenate()与 keras.layer.concatenate()

np.concatenate()与  keras.layer.concatenate()

关于参数axis的取值,说明如下:

import numpy as np
import cv2
from keras.layers import concatenate
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
from PIL import Image
import skimage.io as io
import matplotlib.pyplot as plt
import matplotlib.image as mpig
import os


a=np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
b=np.array([[[11,12],[13,14]],[[15,16],[17,18]]])

#去掉第0层括号(最外层),拼接
axis0=np.concatenate([a,b],axis=0)
print(axis0)
print("")

#去掉第0,1层括号,拼接
axis1=np.concatenate([a,b],axis=1)
#axis1=np.concatenate([a,b],axis=-2)
print(axis1)
print("")

#去掉第0,1,2层括号,拼接
axis2=np.concatenate([a,b],axis=2)
#axis2=np.concatenate([a,b],axis=-1)
print(axis2)

运行结果:

D:\SoftWare\Anaconda3\python.exe "C:/Users/ZhangRR/Desktop/unet-master - 副本/Test.py"
Using TensorFlow backend.

# axis=0
[[[ 1  2]
  [ 3  4]]

 [[ 5  6]
  [ 7  8]]

 [[11 12]
  [13 14]]

 [[15 16]
  [17 18]]]




# axis=1   (axis=-2)
[[[ 1  2]
  [ 3  4]
  [11 12]
  [13 14]]

 [[ 5  6]
  [ 7  8]
  [15 16]
  [17 18]]]




# axis=2   (axis=-1)
[[[ 1  2 11 12]
  [ 3  4 13 14]]

 [[ 5  6 15 16]
  [ 7  8 17 18]]]

Process finished with exit code 0

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import numpy as np import matplotlib.pyplot as plt # 生成sin函数数据 x = np.arange(0, 2*np.pi, 0.1) y = np.sin(x) # 可视化sin函数 plt.plot(x, y) plt.show() from keras.models import Sequential from keras.layers import Dense, SimpleRNN # 准备数据 dataX, dataY = [], [] for i in range(len(y)-1): dataX.append(y[i:i+1]) dataY.append(y[i+1]) dataX = np.array(dataX) dataY = np.array(dataY) # 划分训练集和测试集 train_size = int(len(dataY) * 0.7) test_size = len(dataY) - train_size trainX, testX = np.array(dataX[0:train_size]), np.array(dataX[train_size:len(dataX)]) trainY, testY = np.array(dataY[0:train_size]), np.array(dataY[train_size:len(dataY)]) # 调整输入数据的形状 trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1])) testX = np.reshape(testX, (testX.shape[0], 1, testX.shape[1])) # 定义模型结构 model = Sequential() model.add(SimpleRNN(units=10, input_shape=(1, 1))) model.add(Dense(units=1)) # 编译模型 model.compile(optimizer='adam', loss='mse') # 训练模型 history = model.fit(trainX, trainY, epochs=100, validation_data=(testX, testY)) # 可视化损失函数 plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('Model Loss') plt.ylabel('Loss') plt.xlabel('Epoch') plt.legend(['Train', 'Test'], loc='upper right') plt.show() #预测结果 trainPredict = model.predict(trainX) testPredict = model.predict(testX) # 可视化预测结果 plt.plot(y) plt.plot(np.concatenate((trainPredict, testPredict))) plt.show()对隐藏层输出进行聚类
最新发布
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值