如何使用`tf.matmul`处理矩阵[None,32,32]和matrix [32,32]之间的乘积?

时间:2017-11-20 11:12:15

标签: python python-2.7 matrix tensorflow neural-network

在构建DNN模型之前,我需要有两个矩阵的乘积:[None, 32, 32][32, 32]

因为我知道这种方法有效(来自MNIST

的例子
x = tf.placeholder("float", shape=[None, 784])
W = tf.Variable(tf.zeros([784,10]))
l = tf.matmul(x, W)

我在我的问题上试试这个

x = tf.placeholder(tf.float32, shape = [None, 64, 64])
w = t.Variable(tf.random_normal([64, 64], 0, 0.3))
l = tf.matmul(x, w)

但这是错误的。

- 我知道如果w = t.Variable(tf.random_normal([constant, 64, 64], 0, 0.3)),这个产品可以工作。但我需要将w作为二维矩阵[64, 64]

我可以使用一种方法使[None, 32, 32][32, 32]之间的产品成功吗?

1 个答案:

答案 0 :(得分:1)

此方法解决了我的问题

using (Stream stream = request.GetRequestStream())
        {
            soapEnvelopeXml.Save(stream);
        }
        using (WebResponse response = request.GetResponse())
        {
            using (StreamReader rd = new StreamReader(response.GetResponseStream()))
            {
                string soapResult = rd.ReadToEnd();
                string toBeSearched = "<tns:VoorkeurListResponse>";
                int ix = soapResult.IndexOf(toBeSearched);

                if (ix != -1)
                {
                    string code = soapResult.Substring(ix + toBeSearched.Length);
                    code = code.Substring(0, code.IndexOf("</tns:VoorkeurListResponse>"));
                    List = code;
                    System.Diagnostics.Debug.WriteLine(List);

                    System.Diagnostics.Debug.WriteLine(soapResult);
                }
            }
        }
    }

这是wiki