博客摘录「 《黑马程序员》C++核心编程(二)」2023年12月11日

栈区:

1.由编译器自动分配释放, 存放函数的参数值(形参),局部变量等​

2.注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放

堆区:

1.堆区由程序员管理开辟和释放,若程序员不释放,在程序运行结束后由操作系统收回

2.C++中用new关键字在堆区开辟内存,new创建的数据,会返回该数据对应的类型的指针,而不是数据本身

new运算符:

1.利用new关键字在堆区开辟数据

语法:new  数据类型  例:new int(10);

在堆区开辟数组:

new int [10]; 要使用中括号[ ],此处10 代表数组中有10个整型数据,返回的是该数组的首地址

2.堆区的数据,由程序员自己管理开辟和释放。

数据的释放利用关键字   delete

需要注意的是  释放数组时要加 [ ]       例:delete [ ] arr ;

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Conv1D和UpSampling1D的自编码器代码示例: ```python from keras.layers import Input, Conv1D, UpSampling1D from keras.models import Model input_signal = Input(shape=(100, 1)) # Encoder x = Conv1D(16, kernel_size=3, activation='relu', padding='same')(input_signal) x = Conv1D(8, kernel_size=3, activation='relu', padding='same')(x) encoded = Conv1D(1, kernel_size=3, activation='relu', padding='same')(x) # Decoder x = Conv1D(8, kernel_size=3, activation='relu', padding='same')(encoded) x = Conv1D(16, kernel_size=3, activation='relu', padding='same')(x) decoded = Conv1D(1, kernel_size=3, activation='sigmoid', padding='same')(x) # Autoencoder autoencoder = Model(input_signal, decoded) # Compile the model autoencoder.compile(optimizer='adam', loss='binary_crossentropy') # Train the model autoencoder.fit(x_train, x_train, epochs=10, batch_size=32, validation_data=(x_test, x_test)) # Encoder model encoder = Model(input_signal, encoded) # Decoder model decoder_input = Input(shape=(50, 1)) decoder_layer1 = autoencoder.layers[-3](decoder_input) decoder_layer2 = autoencoder.layers[-2](decoder_layer1) decoder_layer3 = autoencoder.layers[-1](decoder_layer2) decoder = Model(decoder_input, decoder_layer3) ``` 在上面的代码中,我们首先定义了输入信号的形状,并使用Conv1D层定义了编码器和解码器。编码器由三个卷积层组成,每个卷积层都使用3个内核大小,并具有ReLU激活函数。解码器与编码器类似,但最后一个卷积层使用sigmoid激活函数。我们使用autoencoder模型来训练自编码器,然后使用encoder和decoder模型来获取编码和解码信号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值