컨볼 루션 신경망 별 텍스트 분류를 수행하고 있습니다. 예제 MNIST에는 손으로 쓴 숫자의 60.000 이미지 예제가 있으며 각 이미지의 크기는 28 x 28이고 10 개의 레이블 (0에서 9까지)이 있습니다. 그래서 무게의 크기가 여기에 784 * 10 (28 * 28 = 784)컨볼 루션 신경망의 비용 함수
자신의 코드가 될 것이다 : 내 경우
x = tf.placeholder("float", [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
가, 내 문서를 인코딩하는 word2vec을 적용했다. 단어 임베딩의 결과 "사전 크기"는 2000이고 임베드 크기는 128입니다. 45 개의 레이블이 있습니다. 나는 예제와 똑같이하려했지만 작동하지 않았다. 여기서 내가 한 일 : 각 문서를 이미지와 동일하게 취급했습니다. 예를 들어, 문서는 2000 x 128의 행렬로 나타낼 수 있습니다. (문서에 나타나는 단어는 해당 열의 벡터 값이라는 단어를 추가하고 다른 값은 0입니다.) 입력 데이터가 W 및 x 인 경우 문제가 있습니다. 2000 X 128의 NumPy와 배열 x = tf.placeholder("float", [None, 256000])
있다. 크기가 일치하지 않습니다.
하나는 어떤?
감사
조언을 제안 남원 수
고마워요,하지만 여전히 왜 일괄 처리에 대해 아무 것도 보지 않았기 때문에 아무 것도 설정하지 않아도되는지 이해할 수 없습니다. 어젯밤에 행렬 곱셈에 대해 생각해 보았고 W [128, 10]을 설정할 수있는 이상이 있었으므로 W [128, 10]과 x [2000, 128]을 곱하면 출력 행렬 [2000, 10]이됩니다. 그것에 대해 어떻게 생각하십니까? – ngoduyvu
일괄 처리 크기를 하드 코딩하지 않으려면 '없음'이 설정됩니다. 이렇게하면 배치가 가변적 일 수 있습니다. [MNIST 예제] (https://github.com/tensorflow/tensorflow/blob/r0.10/tensorflow/examples/tutorials/mnist/mnist_softmax.py) 배치의 크기는 100입니다 (52 행 참조). 그래서 당신의 경우'x'는'[None, 256000]'크기를 가지므로'W'는'[256000, 10]'크기를 가져야합니다. 여기서'10'은 레이어 출력의 수입니다. –
안녕하세요. sg. 죄송합니다.하지만 코드 데이터 ([코드 예] [1])와 같이 회귀 신경망에 데이터를 제공하려고하지만 실제로 비용 기능에 갇혀 있습니다. 내 비용 함수 크기를 어떻게 제안 할 수 있습니까? [1] : https : //github.com/dennybritz/cnn-text-classification-tf/blob/master/text_cnn.py – ngoduyvu