tflearn数据预处理

#I just added a function for custom data preprocessing, you can use it as:

minmax_scaler = sklearn.preprocessing.MinMaxScaler(....)

def my_func(X):
    X = minmax_scaler.inverse_transform(X)
    return X

dprep = tflearn.DataPreprocessing()
dprep.add_custom_preprocessing(my_func)

input_layer = tflearn.input_data(shape=[...], data_preprocessing=dprep)

我自己的应用:

def my_func(X):
    X = X/255.
    return X

def get_model(width, height, classes=40):
    # TODO, modify model
    # Real-time data preprocessing
    img_prep = tflearn.ImagePreprocessing()
    #img_prep.add_featurewise_zero_center(per_channel=True)
    #img_prep.add_featurewise_stdnorm()

    img_prep.add_custom_preprocessing(my_func)

    network = input_data(shape=[None, width, height, 1], data_preprocessing=img_prep)  # if RGB, 224,224,3
    #network = input_data(shape=[None, width, height, 1])
    network = conv_2d(network, 32, 3, activation='relu')
    network = max_pool_2d(network, 2)
    network = conv_2d(network, 64, 3, activation='relu')
    network = conv_2d(network, 64, 3, activation='relu')
    network = max_pool_2d(network, 2)
    network = fully_connected(network, 512, activation='relu')
    network = dropout(network, 0.5)
    network = fully_connected(network, classes, activation='softmax')
    network = regression(network, optimizer='adam',
                         loss='categorical_crossentropy',
                         learning_rate=0.001)
    model = tflearn.DNN(network, tensorboard_verbose=0)
    return model

猜你喜欢

转载自www.cnblogs.com/bonelee/p/8980939.html