imports,using,和include之间的区别

Imports, Using基本一样,有两个作用 
1、将后面命名空间中所有的名字导入到当前命名空间 
2、为后面的名字取一个当前命名空间可以访问的别名。 

比如StreamWriter这个类在System.IO命名空间,用的时候得写System.IO.StreamWriter才能找到,这通常太麻烦,因此只要写Imports System.IO,就会把所有System.IO下面的名字,包括StreamWriter导入到当前命名空间,你再使用就可以直接写StreamWriter了! 
VB默认帮你导入System, Microsoft.VisualBasic等命名空间,因此不必手工导入 

还可以为某个名字取一个别名,比如认为System.Collections.Generic.Dictionary(Of String, Integer)这个名字太长,使用不便,可以用Imports/using语句指定别名 
Imports Dict = System.Collections.Generic.Dictionary(Of String, Integer) 

下面所有出现System.Collections.Generic.Dictionary(Of String, Integer)的地方都可以直接用Dict代替 
Dim a As Dict '相当于写了Dim a As System.Collections.Generic.Dictionary(Of String, Integer) 

#include作为C++预编译指令,其作用就是把后面那个文件中全部东西,直接拷贝到这条指令的位置,如此而已。与Imports/using的功能完全没有关系(C++中也有using,那个using才是这个意思) 
--------------------------------------------------------------- 

初学者至少有一半不知道Imports的真正意义,以为只有Imports了,才能使用那个命名空间的东西。其实Imports只有帮助简写代码的功能,任何Imports都是可以不写的(那样的话,所有地方都得写System.xxx, Microsoft.VisualBasic.xxx,代码会很长,很烦,但没有任何做不到的)。

声明:本文转载自 http://faq.csdn.net/read/216447.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
解析这段代码from keras.models import Sequential from keras.layers import Dense, Conv2D, Flatten, MaxPooling2D, Dropout, Activation, BatchNormalization from keras import backend as K from keras import optimizers, regularizers, Model from keras.applications import vgg19, densenet def generate_trashnet_model(input_shape, num_classes): # create model model = Sequential() # add model layers model.add(Conv2D(96, kernel_size=11, strides=4, activation='relu', input_shape=input_shape)) model.add(MaxPooling2D(pool_size=3, strides=2)) model.add(Conv2D(256, kernel_size=5, strides=1, activation='relu')) model.add(MaxPooling2D(pool_size=3, strides=2)) model.add(Conv2D(384, kernel_size=3, strides=1, activation='relu')) model.add(Conv2D(384, kernel_size=3, strides=1, activation='relu')) model.add(Conv2D(256, kernel_size=3, strides=1, activation='relu')) model.add(MaxPooling2D(pool_size=3, strides=2)) model.add(Flatten()) model.add(Dropout(0.5)) model.add(Dense(4096)) model.add(Activation(lambda x: K.relu(x, alpha=1e-3))) model.add(Dropout(0.5)) model.add(Dense(4096)) model.add(Activation(lambda x: K.relu(x, alpha=1e-3))) model.add(Dense(num_classes, activation="softmax")) # compile model using accuracy to measure model performance model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) return model # Generate model using a pretrained architecture substituting the fully connected layer def generate_transfer_model(input_shape, num_classes): # imports the pretrained model and discards the fc layer base_model = densenet.DenseNet121( include_top=False, weights='imagenet', input_tensor=None, input_shape=input_shape, pooling='max') #using max global pooling, no flatten required x = base_model.output #x = Dense(256, activation="relu")(x) x = Dense(256, activation="relu", kernel_regularizer=regularizers.l2(0.01))(x) x = Dropout(0.6)(x) x = BatchNormalization()(x) predictions = Dense(num_classes, activation="softmax")(x) # this is the model we will train model = Model(inputs=base_model.input, outputs=predictions) # compile model using accuracy to measure model performance and adam optimizer optimizer = optimizers.Adam(lr=0.001) #optimizer = optimizers.SGD(lr=0.0001, momentum=0.9, nesterov=True) model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy']) return model
05-29

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值