<p dir="auto">I built the libcaffe2.a for android as the guide[./scripts/build_android.sh]. The build is success, but I find that the library is too large[800MB+]. The library file in Android Demo(such as AICamera-Style-Transfer &amp; AICamera) is small[Only 60MB]. Is there a way to reduce the file size? How to config?</p>
<h2 dir="auto"><g-emoji class="g-emoji" alias="rocket" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f680.png">🚀</g-emoji> Feature</h2>
<p dir="auto">Currently there are a number of tensor properties which we bind in python which are not shared with the JIT / C++ api.</p>
<p dir="auto">Some of these have been duplicated in JIT, but many are not supported.<br>
Either:</p>
<ul dir="auto">
<li>Develop a test mechanism to keep them in sync</li>
<li>Figure out a way to share properties via native declaration</li>
</ul>
<p dir="auto">Native declaration would likely be a two-step process:</p>
<ul dir="auto">
<li>add properties to JIT type system (or other solution)</li>
<li>figure out codegen</li>
</ul>
<p dir="auto">The following properties are currently bound, many of which will throw if they are used in a scripted function.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  {&quot;T&quot;, (getter)THPVariable_get_T, nullptr, nullptr, nullptr},
  {&quot;_cdata&quot;, (getter)THPVariable_get_cdata, nullptr, nullptr, nullptr},
  {&quot;_version&quot;, (getter)THPVariable_get_version, nullptr, nullptr, nullptr},
  {&quot;grad_fn&quot;, (getter)THPVariable_get_grad_fn, nullptr, nullptr, nullptr},
  {&quot;_grad_fn&quot;, (getter)THPVariable_get_grad_fn, (setter)THPVariable_set_grad_fn, nullptr, nullptr},
  {&quot;is_leaf&quot;, (getter)THPVariable_is_leaf, nullptr, nullptr, nullptr},
  {&quot;data&quot;, (getter)THPVariable_get_data, (setter)THPVariable_set_data, nullptr, nullptr},
  {&quot;_grad&quot;, (getter)THPVariable_get_grad, (setter)THPVariable_set_grad, nullptr, nullptr}, // only for legacy reasons
  {&quot;grad&quot;, (getter)THPVariable_get_grad, (setter)THPVariable_set_grad, nullptr, nullptr},
  {&quot;_base&quot;, (getter)THPVariable_get_base, nullptr, nullptr, nullptr},
  {&quot;volatile&quot;, (getter)THPVariable_get_volatile, (setter)THPVariable_set_volatile, nullptr, nullptr},
  {&quot;output_nr&quot;, (getter)THPVariable_get_output_nr, nullptr, nullptr, nullptr},
  {&quot;requires_grad&quot;, (getter)THPVariable_get_requires_grad, (setter)THPVariable_set_requires_grad, nullptr, nullptr},
  {&quot;_backward_hooks&quot;, (getter)THPVariable_get_backwards_hooks, (setter)THPVariable_set_backwards_hooks, nullptr, nullptr},
  {&quot;name&quot;, (getter)THPVariable_get_name, nullptr, nullptr, nullptr},
  {&quot;shape&quot;, (getter)THPVariable_get_shape, nullptr, nullptr, nullptr},
  {&quot;is_cuda&quot;, (getter)THPVariable_is_cuda, nullptr, nullptr, nullptr},
  {&quot;is_sparse&quot;, (getter)THPVariable_is_sparse, nullptr, nullptr, nullptr},
  {&quot;is_mkldnn&quot;, (getter)THPVariable_is_mkldnn, nullptr, nullptr, nullptr},
  {&quot;is_quantized&quot;, (getter)THPVariable_is_quantized, nullptr, nullptr, nullptr},
  {&quot;dtype&quot;, (getter)THPVariable_dtype, nullptr, nullptr, nullptr},
  {&quot;layout&quot;, (getter)THPVariable_layout, nullptr, nullptr, nullptr},
  {&quot;device&quot;, (getter)THPVariable_device, nullptr, nullptr, nullptr},
  {&quot;ndim&quot;, (getter)THPVariable_get_ndim, nullptr, nullptr, nullptr},"><pre class="notranslate"><code class="notranslate">  {"T", (getter)THPVariable_get_T, nullptr, nullptr, nullptr},
  {"_cdata", (getter)THPVariable_get_cdata, nullptr, nullptr, nullptr},
  {"_version", (getter)THPVariable_get_version, nullptr, nullptr, nullptr},
  {"grad_fn", (getter)THPVariable_get_grad_fn, nullptr, nullptr, nullptr},
  {"_grad_fn", (getter)THPVariable_get_grad_fn, (setter)THPVariable_set_grad_fn, nullptr, nullptr},
  {"is_leaf", (getter)THPVariable_is_leaf, nullptr, nullptr, nullptr},
  {"data", (getter)THPVariable_get_data, (setter)THPVariable_set_data, nullptr, nullptr},
  {"_grad", (getter)THPVariable_get_grad, (setter)THPVariable_set_grad, nullptr, nullptr}, // only for legacy reasons
  {"grad", (getter)THPVariable_get_grad, (setter)THPVariable_set_grad, nullptr, nullptr},
  {"_base", (getter)THPVariable_get_base, nullptr, nullptr, nullptr},
  {"volatile", (getter)THPVariable_get_volatile, (setter)THPVariable_set_volatile, nullptr, nullptr},
  {"output_nr", (getter)THPVariable_get_output_nr, nullptr, nullptr, nullptr},
  {"requires_grad", (getter)THPVariable_get_requires_grad, (setter)THPVariable_set_requires_grad, nullptr, nullptr},
  {"_backward_hooks", (getter)THPVariable_get_backwards_hooks, (setter)THPVariable_set_backwards_hooks, nullptr, nullptr},
  {"name", (getter)THPVariable_get_name, nullptr, nullptr, nullptr},
  {"shape", (getter)THPVariable_get_shape, nullptr, nullptr, nullptr},
  {"is_cuda", (getter)THPVariable_is_cuda, nullptr, nullptr, nullptr},
  {"is_sparse", (getter)THPVariable_is_sparse, nullptr, nullptr, nullptr},
  {"is_mkldnn", (getter)THPVariable_is_mkldnn, nullptr, nullptr, nullptr},
  {"is_quantized", (getter)THPVariable_is_quantized, nullptr, nullptr, nullptr},
  {"dtype", (getter)THPVariable_dtype, nullptr, nullptr, nullptr},
  {"layout", (getter)THPVariable_layout, nullptr, nullptr, nullptr},
  {"device", (getter)THPVariable_device, nullptr, nullptr, nullptr},
  {"ndim", (getter)THPVariable_get_ndim, nullptr, nullptr, nullptr},
</code></pre></div>