問題タブ [size-reduction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Tensorflow ライブラリ + 事前トレーニング済みの MobileNet を可能な限り小さくして、APK を小さくします
要件
ラベル付け機能を備えた写真管理 Android アプリを開発しています。日常のオブジェクト/建物/動物/植物を認識する必要があります。自転車、家、山が写っている写真を撮ると、アプリはその写真をこれらの各カテゴリに追加します。
Tensorflow + 事前トレーニング済みの MobileNet v2は要件に完全に適合し、 my に次の依存関係がありますbuild.gradle
。
問題
問題: APK が 10 倍の 32 MB に増加します。これは、私のターゲット ユーザー (遅い/高価なモバイル データ プランを使用し、WiFi/LAN/ブロードバンドを使用していないユーザー) には受け入れられません。
質問: Tensorflow + 事前トレーニング済みの MobileNet v2 をはるかに小さくするには、どのようなトリックを使用できますか?
特に、ラベル付け時に使用されていないクラスを Tensorflow から削除するにはどうすればよいですか? Android ではトレーニングは行われないため、たとえば、すべてのトレーニング クラスは必要ありません。必要に応じて再コンパイルできますが、他の方法でも構いません。
arrays - Julia: 特定の軸に沿った多次元配列の範囲 (最小値/最大値) を取得する
次元N1
, N2
,の配列N3
が与えられた場合、特定の軸のさまざまなレベルについて、この多次元配列の最小値と最大値 (範囲) を Julia で取得する方法はありますか?
たとえば、my_array
サイズの配列があるとします (上で使用した用語との一貫性を保つため、、を(10, 3, 100)
意味します)。の 3 つの異なる「レベル」の最小値と最大値を取得したいと考えています。基本的に、次のことを行うより簡潔なコードが必要です。N1 = 10
N2 = 3
N3 = 100
N2
したがって、基本的には、必要な次元 (この場合は dimension )my_array[:,n,:]
のレベルごとに、 のようなインデックス操作によって選択された n 次元のサブ配列全体で最小値 (それぞれ、最大値) を取得しています。n
N2
N
この操作を多次元配列の任意の次元に一般化し、基本的にその次元のさまざまな「設定/レベル」の範囲を格納する(より良い)コードが必要です。