4
4
import android .content .Context ;
5
5
import android .content .SharedPreferences ;
6
6
import android .os .Bundle ;
7
- import android .preference .EditTextPreference ;
8
7
import android .preference .ListPreference ;
9
8
import android .preference .PreferenceManager ;
10
9
import android .support .v7 .app .ActionBar ;
11
10
12
11
import com .baidu .paddle .paddlenlp .app .R ;
13
- import com .baidu .paddle .paddlenlp .ui .Utils ;
14
12
import com .baidu .paddle .paddlenlp .ui .view .AppCompatPreferenceActivity ;
15
13
16
- import java .util .ArrayList ;
17
- import java .util .List ;
18
-
19
14
20
15
public class ERNIETinySettingsActivity extends AppCompatPreferenceActivity implements
21
16
SharedPreferences .OnSharedPreferenceChangeListener {
22
17
private static final String TAG = ERNIETinySettingsActivity .class .getSimpleName ();
23
- static public int selectedModelIdx = -1 ;
24
18
static public String modelDir = "" ;
25
19
static public int cpuThreadNum = 2 ;
26
20
static public String cpuPowerMode = "" ;
27
- static public String enableLiteFp16 = "true" ;
21
+ static public String enableLiteFp16 = "false" ;
22
+ static public String enableLiteInt8 = "true" ;
28
23
29
24
ListPreference lpChoosePreInstalledModel = null ;
30
- EditTextPreference etModelDir = null ;
31
25
ListPreference lpCPUThreadNum = null ;
32
26
ListPreference lpCPUPowerMode = null ;
33
27
ListPreference lpEnableLiteFp16 = null ;
34
-
35
- List <String > preInstalledModelDirs = null ;
36
- List <String > preInstalledCPUThreadNums = null ;
37
- List <String > preInstalledCPUPowerModes = null ;
38
- List <String > preInstalledEnableLiteFp16s = null ;
28
+ ListPreference lpEnableLiteInt8 = null ;
39
29
40
30
@ Override
41
31
public void onCreate (Bundle savedInstanceState ) {
@@ -46,75 +36,49 @@ public void onCreate(Bundle savedInstanceState) {
46
36
supportActionBar .setDisplayHomeAsUpEnabled (true );
47
37
}
48
38
49
- // Initialize pre-installed models
50
- preInstalledModelDirs = new ArrayList <String >();
51
- preInstalledCPUThreadNums = new ArrayList <String >();
52
- preInstalledCPUPowerModes = new ArrayList <String >();
53
- preInstalledEnableLiteFp16s = new ArrayList <String >();
54
- preInstalledModelDirs .add (getString (R .string .ERNIE_TINY_MODEL_DIR_DEFAULT ));
55
- preInstalledCPUThreadNums .add (getString (R .string .CPU_THREAD_NUM_DEFAULT ));
56
- preInstalledCPUPowerModes .add (getString (R .string .CPU_POWER_MODE_DEFAULT ));
57
- preInstalledEnableLiteFp16s .add (getString (R .string .ENABLE_LITE_FP16_MODE_DEFAULT ));
58
-
59
39
// Setup UI components
60
40
lpChoosePreInstalledModel =
61
41
(ListPreference ) findPreference (getString (R .string .CHOOSE_PRE_INSTALLED_MODEL_KEY ));
62
- String [] preInstalledModelNames = new String [preInstalledModelDirs .size ()];
63
- for (int i = 0 ; i < preInstalledModelDirs .size (); i ++) {
64
- preInstalledModelNames [i ] = preInstalledModelDirs .get (i ).substring (preInstalledModelDirs .get (i ).lastIndexOf ("/" ) + 1 );
65
- }
66
- lpChoosePreInstalledModel .setEntries (preInstalledModelNames );
67
- lpChoosePreInstalledModel .setEntryValues (preInstalledModelDirs .toArray (new String [preInstalledModelDirs .size ()]));
68
42
lpCPUThreadNum = (ListPreference ) findPreference (getString (R .string .CPU_THREAD_NUM_KEY ));
69
43
lpCPUPowerMode = (ListPreference ) findPreference (getString (R .string .CPU_POWER_MODE_KEY ));
70
- etModelDir = (EditTextPreference ) findPreference (getString (R .string .MODEL_DIR_KEY ));
71
- etModelDir .setTitle ("Model dir (SDCard: " + Utils .getSDCardDirectory () + ")" );
72
44
lpEnableLiteFp16 = (ListPreference ) findPreference (getString (R .string .ENABLE_LITE_FP16_MODE_KEY ));
45
+ lpEnableLiteInt8 = (ListPreference ) findPreference (getString (R .string .ENABLE_LITE_INT8_MODE_KEY ));
73
46
}
74
47
75
48
@ SuppressLint ("ApplySharedPref" )
76
49
private void reloadSettingsAndUpdateUI () {
77
50
SharedPreferences sharedPreferences = getPreferenceScreen ().getSharedPreferences ();
78
51
79
- String selected_model_dir = sharedPreferences .getString (getString (R .string .CHOOSE_PRE_INSTALLED_MODEL_KEY ),
80
- getString (R .string .ERNIE_TINY_MODEL_DIR_DEFAULT ));
81
- int selected_model_idx = lpChoosePreInstalledModel .findIndexOfValue (selected_model_dir );
82
- if (selected_model_idx >= 0 && selected_model_idx < preInstalledModelDirs .size () && selected_model_idx != selectedModelIdx ) {
83
- SharedPreferences .Editor editor = sharedPreferences .edit ();
84
- editor .putString (getString (R .string .MODEL_DIR_KEY ), preInstalledModelDirs .get (selected_model_idx ));
85
- editor .putString (getString (R .string .CPU_THREAD_NUM_KEY ), preInstalledCPUThreadNums .get (selected_model_idx ));
86
- editor .putString (getString (R .string .CPU_POWER_MODE_KEY ), preInstalledCPUPowerModes .get (selected_model_idx ));
87
- editor .putString (getString (R .string .ENABLE_LITE_FP16_MODE_DEFAULT ), preInstalledEnableLiteFp16s .get (selected_model_idx ));
88
- editor .commit ();
89
- lpChoosePreInstalledModel .setSummary (selected_model_dir );
90
- selectedModelIdx = selected_model_idx ;
91
- }
52
+ String model_dir = sharedPreferences .getString (getString (R .string .CHOOSE_PRE_INSTALLED_MODEL_KEY ),
53
+ getString (R .string .CHOOSE_PRE_INSTALLED_MODEL_DEFAULT ));
92
54
93
- String model_dir = sharedPreferences .getString (getString (R .string .MODEL_DIR_KEY ),
94
- getString (R .string .ERNIE_TINY_MODEL_DIR_DEFAULT ));
95
55
String cpu_thread_num = sharedPreferences .getString (getString (R .string .CPU_THREAD_NUM_KEY ),
96
56
getString (R .string .CPU_THREAD_NUM_DEFAULT ));
97
57
String cpu_power_mode = sharedPreferences .getString (getString (R .string .CPU_POWER_MODE_KEY ),
98
58
getString (R .string .CPU_POWER_MODE_DEFAULT ));
99
59
String enable_lite_fp16 = sharedPreferences .getString (getString (R .string .ENABLE_LITE_FP16_MODE_KEY ),
100
60
getString (R .string .ENABLE_LITE_FP16_MODE_DEFAULT ));
61
+ String enable_lite_int8 = sharedPreferences .getString (getString (R .string .ENABLE_LITE_INT8_MODE_KEY ),
62
+ getString (R .string .ENABLE_LITE_FP16_MODE_DEFAULT ));
101
63
102
- etModelDir .setSummary (model_dir );
64
+ lpChoosePreInstalledModel .setSummary (model_dir );
65
+ lpChoosePreInstalledModel .setValue (model_dir );
103
66
lpCPUThreadNum .setValue (cpu_thread_num );
104
67
lpCPUThreadNum .setSummary (cpu_thread_num );
105
68
lpCPUPowerMode .setValue (cpu_power_mode );
106
69
lpCPUPowerMode .setSummary (cpu_power_mode );
107
70
lpEnableLiteFp16 .setValue (enable_lite_fp16 );
108
71
lpEnableLiteFp16 .setSummary (enable_lite_fp16 );
109
-
72
+ lpEnableLiteInt8 .setValue (enable_lite_int8 );
73
+ lpEnableLiteInt8 .setSummary (enable_lite_int8 );
110
74
}
111
75
112
76
static boolean checkAndUpdateSettings (Context ctx ) {
113
77
boolean settingsChanged = false ;
114
78
SharedPreferences sharedPreferences = PreferenceManager .getDefaultSharedPreferences (ctx );
115
79
116
- String model_dir = sharedPreferences .getString (ctx .getString (R .string .MODEL_DIR_KEY ),
117
- ctx .getString (R .string .ERNIE_TINY_MODEL_DIR_DEFAULT ));
80
+ String model_dir = sharedPreferences .getString (ctx .getString (R .string .CHOOSE_PRE_INSTALLED_MODEL_KEY ),
81
+ ctx .getString (R .string .CHOOSE_PRE_INSTALLED_MODEL_DEFAULT ));
118
82
settingsChanged |= !modelDir .equalsIgnoreCase (model_dir );
119
83
modelDir = model_dir ;
120
84
@@ -133,15 +97,20 @@ static boolean checkAndUpdateSettings(Context ctx) {
133
97
settingsChanged |= !enableLiteFp16 .equalsIgnoreCase (enable_lite_fp16 );
134
98
enableLiteFp16 = enable_lite_fp16 ;
135
99
100
+ String enable_lite_int8 = sharedPreferences .getString (ctx .getString (R .string .ENABLE_LITE_INT8_MODE_KEY ),
101
+ ctx .getString (R .string .ENABLE_LITE_INT8_MODE_DEFAULT ));
102
+ settingsChanged |= !enableLiteInt8 .equalsIgnoreCase (enable_lite_int8 );
103
+ enableLiteInt8 = enable_lite_int8 ;
104
+
136
105
return settingsChanged ;
137
106
}
138
107
139
108
static void resetSettings () {
140
- selectedModelIdx = -1 ;
141
109
modelDir = "" ;
142
110
cpuThreadNum = 2 ;
143
111
cpuPowerMode = "" ;
144
- enableLiteFp16 = "true" ;
112
+ enableLiteFp16 = "false" ;
113
+ enableLiteInt8 = "true" ;
145
114
}
146
115
147
116
@ Override
@@ -161,5 +130,4 @@ protected void onPause() {
161
130
public void onSharedPreferenceChanged (SharedPreferences sharedPreferences , String key ) {
162
131
reloadSettingsAndUpdateUI ();
163
132
}
164
-
165
133
}
0 commit comments