我试图通过以下方式将高斯噪声添加到我的网络层.
def Gaussian_noise_layer(input_layer, std):
noise = tf.random_normal(shape = input_layer.get_shape(), mean = 0.0, stddev = std, dtype = tf.float32)
return input_layer + noise
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ValueError:无法将部分已知的TensorShape转换为Tensor:(?,2600,2000,1)
我的小批量有时需要具有不同的大小,因此在执行时间之前不会知道input_layer张量的大小.
如果我理解正确,有人回答无法在TensorFlow中转换部分转换的张量建议将形状设置为tf.shape(input_layer).然而,当我尝试将卷积层应用于该噪声层时,我得到另一个错误:
ValueError:形状的暗淡必须是已知的,但是为None
在执行时间之前,实现将高斯噪声添加到未知形状的输入层的目标的正确方法是什么?
machine-learning neural-network deep-learning conv-neural-network tensorflow
我想进行以下简单的实验。
我正在使用 Tensorflow。我有一个大数组(5000x5000 float32 元素)。我如何测量将这个数组从 RAM 移动到 GPU 内存实际需要多长时间?
我知道我可以创建一些非常简单的计算图,运行它并测量它花费了多长时间。但这有两个问题。首先,我担心测量的时间将由计算所花费的时间决定,而不是通过从 RAM 移动数据到 GPU。其次,如果计算不涉及我提到的大数组,Tensorflow 将简化计算图,这样大数组就不会在其中,并且根本不会从 RAM 移动到 GPU。