首頁 > Java > 優化 Android Java 循環,根據 FloatBuffer 掩碼數組複製一些元素歸零的數組

優化 Android Java 循環,根據 FloatBuffer 掩碼數組複製一些元素歸零的數組

王林
發布: 2024-02-06 09:06:03
轉載
1189 人瀏覽過
<div class="wenti">問題內容</div> <br><p>我在 android 中有一個如下所示的函數,它有點慢,是我的即時應用程式的瓶頸。我正在考慮以某種方式使其更快,也許透過 gpu 或任何可能的方法。有哪些方法可以使用並行化使其更快、更有效率? </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">private int[] getArray (ByteBuffer byteBuffer) { int[] array = new int[width * height]; FloatBuffer fb = byteBuffer.asFloatBuffer(); for (int i = 0; i < width* height; i++) { float probability = 1 - floatBuffer.get(); if (probability > 0.9) { array[i] = originalBuffer[i]; } } return array; }</pre><div class="contentsignin">登入後複製</div></div> <p>上下文用於分割任務。基本上,ml 模型在位元組緩衝區中傳回一個遮罩。我將它傳遞給這個函數以使背景變成粉紅色。在此僅供參考。 </p><br/><h2 class="daan">正確答案</h2><br/><p>(評論太長)但你可以輕鬆做到:取代</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">float probability = 1 - floatbuffer.get(); if (probability > 0.9) {</pre><div class="contentsignin">登入後複製</div></div> <p>由</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">if (floatbuffer.get() < 0.1) {</pre><div class="contentsignin">登入後複製</div></div> <p>而且:老實說,我不知道編譯器是否編寫了一個機器碼來計算<code>width*height</code> 在<strong>每個</strong>循環中計算中止標準(我希望/認為<strong>不是</strong) >)。但嘗試一下:添加該行</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">int product = width*height; int[] array = new int[product];</pre><div class="contentsignin">登入後複製</div></div> <p>然後設定</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">for (int i = 0; i < product; i++) {</pre><div class="contentsignin">登入後複製</div></div> <p>這樣,你就消除了循環中的所有算術運算(除了必不可少的 <code>i </code> 和 <code><</code> )。 </p>

以上是優化 Android Java 循環,根據 FloatBuffer 掩碼數組複製一些元素歸零的數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板