天天看點

TensorFlow教程之API DOC 6.1.8 Class tensorflow::TensorShapeClass tensorflow::TensorShape

本文檔為tensorflow參考文檔,本轉載已得到tensorflow中文社群授權。

manages the dimensions of a tensor and their sizes.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#tensorflow_tensorshape_tensorshape"><code>tensorflow::tensorshape::tensorshape(gtl::arrayslice&lt; int64 &gt; dim_sizes)</code></a>

construct a <code>tensorshape</code> from the provided sizes. requires: <code>dim_sizes[i] &gt;= 0</code>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#tensorflow_tensorshape_tensorshape"><code>tensorflow::tensorshape::tensorshape(std::initializer_list&lt; int64 &gt; dim_sizes)</code></a>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#tensorflow_tensorshape_tensorshape"><code>tensorflow::tensorshape::tensorshape(const tensorshapeproto &amp;proto)</code></a>

requires: <code>isvalid(proto)</code>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#tensorflow_tensorshape_tensorshape"><code>tensorflow::tensorshape::tensorshape()</code></a>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#void_tensorflow_tensorshape_clear"><code>void tensorflow::tensorshape::clear()</code></a>

clear a tensor shape.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#void_tensorflow_tensorshape_adddim"><code>void tensorflow::tensorshape::adddim(int64 size)</code></a>

add a dimension to the end ("inner-most"). requires: <code>size &gt;= 0</code>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#void_tensorflow_tensorshape_appendshape"><code>void tensorflow::tensorshape::appendshape(const tensorshape &amp;shape)</code></a>

appends all the dimensions from <code>shape</code>.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#void_tensorflow_tensorshape_insertdim"><code>void tensorflow::tensorshape::insertdim(int d, int64 size)</code></a>

insert a dimension somewhere in the <code>tensorshape</code>. requires: <code>0 &lt;= d &lt;= dims()</code>requires: <code>size &gt;= 0</code>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#void_tensorflow_tensorshape_set_dim"><code>void tensorflow::tensorshape::set_dim(int d, int64 size)</code></a>

modifies the size of the dimension <code>d</code> to be <code>size</code> requires: <code>0 &lt;= d &lt; dims()</code> requires: <code>size &gt;= 0</code>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#void_tensorflow_tensorshape_removedim"><code>void tensorflow::tensorshape::removedim(int d)</code></a>

removes dimension <code>d</code> from the <code>tensorshape</code>. requires: <code>0 &lt;= d &lt; dims()</code>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#int_tensorflow_tensorshape_dims"><code>int tensorflow::tensorshape::dims() const</code></a>

return the number of dimensions in the tensor.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#int64_tensorflow_tensorshape_dim_size"><code>int64 tensorflow::tensorshape::dim_size(int d) const</code></a>

returns the number of elements in dimension <code>d</code>. requires: <code>0 &lt;= d &lt; dims()</code>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#gtl_arrayslice_int64_tensorflow_tensorshape_dim_sizes"><code>gtl::arrayslice&lt;int64&gt; tensorflow::tensorshape::dim_sizes() const</code></a>

returns sizes of all dimensions.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#int64_tensorflow_tensorshape_num_elements"><code>int64 tensorflow::tensorshape::num_elements() const</code></a>

returns the number of elements in the tensor.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#bool_tensorflow_tensorshape_issamesize"><code>bool tensorflow::tensorshape::issamesize(const tensorshape &amp;b) const</code></a>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#bool_tensorflow_tensorshape_operator_"><code>bool tensorflow::tensorshape::operator==(const tensorshape &amp;b) const</code></a>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#void_tensorflow_tensorshape_asproto"><code>void tensorflow::tensorshape::asproto(tensorshapeproto *proto) const</code></a>

fill <code>*proto</code> from <code>*this</code>.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#eigen_dsizes_eigen_denseindex_ndims_tensorflow_tensorshape_aseigendsizes"><code>eigen::dsizes&lt; eigen::denseindex, ndims &gt; tensorflow::tensorshape::aseigendsizes() const</code></a>

fill <code>*dsizes</code> from <code>*this</code>.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#eigen_dsizes_eigen_denseindex_ndims_tensorflow_tensorshape_aseigendsizeswithpadding"><code>eigen::dsizes&lt; eigen::denseindex, ndims &gt; tensorflow::tensorshape::aseigendsizeswithpadding() const</code></a>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#tensorshapeiter_tensorflow_tensorshape_begin"><code>tensorshapeiter tensorflow::tensorshape::begin() const</code></a>

for iterating through the dimensions.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#tensorshapeiter_tensorflow_tensorshape_end"><code>tensorshapeiter tensorflow::tensorshape::end() const</code></a>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#string_tensorflow_tensorshape_debugstring"><code>string tensorflow::tensorshape::debugstring() const</code></a>

for error messages.

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#string_tensorflow_tensorshape_shortdebugstring"><code>string tensorflow::tensorshape::shortdebugstring() const</code></a>

<a href="http://www.tensorfly.cn/tfdoc/api_docs/cc/classtensorshape.html#static_bool_tensorflow_tensorshape_isvalid"><code>static bool tensorflow::tensorshape::isvalid(const tensorshapeproto &amp;proto)</code></a>

returns <code>true</code> iff <code>proto</code> is a valid tensor shape.

create a tensor shape with no dimensions and one element, which you can then call <code>adddim()</code> on.

insert a dimension somewhere in the <code>tensorshape</code>. requires: <code>0 &lt;= d &lt;= dims()</code> requires: <code>size &gt;= 0</code>

we use <code>int64</code> and not <code>size_t</code> to be compatible with <code>eigen::tensor</code> which uses <code>ptrdiff_t</code>.

returns true if <code>*this</code> and <code>b</code> have the same sizes. ignores dimension names.

same as <code>aseigendsizes()</code> but allows for <code>ndims &gt; dims()</code> in which case we pad the rest of the sizes with 1.

繼續閱讀