2016-06-19 3 views

답변

1

다음은 기본적인 예입니다.

layer1, layer2, layer3 등을 정의한 다음 아래에 연결하면 하이퍼 열이 생깁니다.

conv1 = tf.nn.conv2d(image, weights, [1, 1, 1, 1], 'SAME') 
layer1 = tf.image.resize_bilinear(conv1, (224, 224)) 
... 
layer2 = tf.image.resize_bilinear(conv2, (224, 224)) 
... 
layer3 = tf.image.resize_bilinear(conv3, (224, 224)) 
return(tf.concat(0, [layer1, layer2,layer3])) 
+0

@Steven! 또한 정상적인 회선을 실행하고 회귀의 최종 계층에 대한 픽셀/값에 대해 하이퍼 열을 유지할 수있는 방법이 있습니까? 예를 들어, 입력이 244x244이고 컨볼 루션의 최종 출력이 7x7 인 경우 이전 레이어의 7x7 값을 동일하게 유지 한 다음 연결합니다. –

+0

내가하고 싶은 일에 대해 좀 더 구체적으로 설명해야 할 필요가 있습니다. 하이퍼 열에 대한 아이디어는 입력 이미지 크기 나 심지어 열의 크기보다 일반적입니다. 예 : 입력 크기가 244x244x3 (3 색상 채널)이라고 가정합니다. 첫 번째 레이어는 절반이됩니다. 122x122x16 다음 (마지막) 레이어는 7x7x65입니다. 이제 가장 쉬운 방법은 레이어 2에 대해 tf.image.resize_bilinear (layer1, (224, 224))와 같은 작업을 수행하는 것이지만 그럴 필요는 없습니다. 또한 두 레이어를 모두 선형화하여 이러한 방식으로 연결할 수 있습니다 (그러나 공간 정보는 손실됩니다). – Steven

+0

당신은 아직 개발 중일지라도 tensorflow (당신이 원한 것처럼 들리네)에서 풀을 풀어 볼 수도 있습니다. 여기에서 볼 수 있습니다. https://github.com/tensorflow/tensorflow/issues/2169 – Steven

관련 문제