2017-12-30 5 views
0

내가 갖고있는 이미지 데이터에 깊은 꿈을 갖고 싶습니다. 나는 cntk를 시도하기로 결정했고, MNIST의 손으로 데이터를 작성하여 개발하기 시작했습니다.나는 cntk에서 '깊은 꿈'을 실천하는 것이 불가능하다고 결론 내릴 수 있습니까?

일반적으로 신경망을 학습 할 때 입력 이미지의 고정 세트가 있고 배우기위한 다양한 가중치가 있습니다. Deep dreaming 이러한 종류의 뒤집기와 네트워크에서 고정 가중치를 사용하면 배울 수있는 다양한 이미지가 있습니다.

그래서 나는 길쌈 네트워크를 사용하여 이미지를 아주 일관되게 인식하도록 네트워크를 훈련 시켰습니다. 이제 나는 어떤 이미지를 꿈꾸기를 원한다. 그래서 나는 가변적 인 입력 이미지로 컨볼 루션 (convolution)을 할 필요가있다. 외관상으로는 cntk는 이것을 허용하지 않습니다. 다음 코드는 내가 얻고있는 오류를 보여줍니다.

def doConstantConv(inputX, W, b, redRank): 
    kernel = C.constant(value = W) 
    bias = C.constant(value = b) 
    conv = C.convolution(kernel, inputX, strides = (2,2), reduction_rank = redRank) + bias 
    return C.relu(conv) 

W1 = np.reshape(np.arange(200.0, dtype = np.float32), (8,1,5,5)) 
b1 = np.reshape(np.arange(8.0, dtype = np.float32), (8,1,1)) 

someInput = C.parameter((1,28,28)) 
layer1 = doConstantConv(someInput, W1, b1, 1) 

내가 점점 오전 오류는 "회선은 현재 동적 축이 메인 피연산자가 필요합니다." 그러나 내가 알 수있는 한, 학습 가능한 매개 변수에는 동적 축을 포함 할 수 없습니다. 그건 이해가 안돼, 그렇지?

그래서 cntk는 깊은 꿈을 꿀 수 없다고 결론 지을 수 있습니까? 그것을 해킹 할 방법이 있습니까?

답변

관련 문제