python实现dropout

 主要是使用二项分布np.random.binomial() 生成对应的序列。

import numpy as np

def dropout(input_data,prob):
    if prob < 0 or prob > 1:
        raise "error"
    retain_prob = 1- prob
    sample = np.random.binomial(1,retain_prob,input_data.shape)
    x = input_data*sample
    # 缓解数据分布差异,使训练和测试保持一致
    y = x/retain_prob
    return y

inp = [1,2,3,4,5]
b = np.array(inp)
c = dropout(b,0.3) 

你可能感兴趣的:(TensorFlow,python,机器学习,python,深度学习,开发语言)