我为 Android 开发记事本应用程序。应用程序将其数据存储在 SQLite 数据库中。我想使用Dropbox 数据存储 API为应用程序数据实现可选的备份/同步。如果用户已链接他的 Dropbox 帐户应用程序数据应存储在 Dropbox 云中并在所有用户的设备之间同步。
我的解决方案最初是将所有应用程序数据存储在数据库中。当用户链接他的 Dropbox 帐户应用程序将所有数据移动到数据存储。之后该应用程序将与数据存储区配合使用(因为它支持离线缓存并在后台执行同步)。如果用户决定取消他的 Dropbox 帐户与应用程序的链接,他的所有数据都将移回设备上的本地 SQLite 数据库。我想创建应用程序数据存储的接口并有两个实现:SQLite 数据库和 Dropbox 数据存储。因此其他应用程序组件将不依赖于存储实现。当然,所有这些对用户都是完全透明的。
这是一个好方法吗?你能建议更好的方法吗?
提前致谢!
我已经使用我自己的数据集重新训练了TensorFlow Inception v3模型,如本教程所述.
现在我正在尝试使用我的再培训模型构建和运行TensorFlow Android示例.我按原样从示例中构建了本机代码,将模型(.pb)和标签(.txt)文件复制到资产目录并更改了模型参数TensorFlowImageListener.java:
private static final int NUM_CLASSES = 5; // number of categories
private static final int INPUT_SIZE = 299;
private static final int IMAGE_MEAN = 128;
private static final float IMAGE_STD = 128;
private static final String INPUT_NAME = "Mul:0";
private static final String OUTPUT_NAME = "final_result:0";
Run Code Online (Sandbox Code Playgroud)
但解析从资产加载的模型文件时应用程序崩溃:
08-12 16:02:08.258 25253-25253/com.iliakplv.tensorflow I/native: tensorflow_jni.cc:115 Loading TensorFlow.
08-12 16:02:08.258 25253-25253/com.iliakplv.tensorflow I/native: tensorflow_jni.cc:117 Making new SessionOptions.
08-12 16:02:08.259 25253-25253/com.iliakplv.tensorflow I/native: tensorflow_jni.cc:120 Got config, 0 …Run Code Online (Sandbox Code Playgroud) 我在csv文件中有一个非常简单的二进制分类数据集,如下所示:
"feature1","feature2","label"
1,0,1
0,1,0
...
Run Code Online (Sandbox Code Playgroud)
其中"label"列表示类(1为正,0为负).功能的数量实际上相当大,但对于那个问题并不重要.
以下是我阅读数据的方法:
train = pandas.read_csv(TRAINING_FILE)
y_train, X_train = train['label'], train[['feature1', 'feature2']].fillna(0)
test = pandas.read_csv(TEST_FILE)
y_test, X_test = test['label'], test[['feature1', 'feature2']].fillna(0)
Run Code Online (Sandbox Code Playgroud)
我想运行tensorflow.contrib.learn.LinearClassifier和tensorflow.contrib.learn.DNNClassifier对这些数据.例如,我像这样初始化DNN:
classifier = DNNClassifier(hidden_units=[3, 5, 3],
n_classes=2,
feature_columns=feature_columns, # ???
activation_fn=nn.relu,
enable_centered_bias=False,
model_dir=MODEL_DIR_DNN)
Run Code Online (Sandbox Code Playgroud)
那么,feature_columns当所有特征都是二进制(0或1是唯一可能的值)时,我应该如何创建?
这是模型培训:
classifier.fit(X_train.values,
y_train.values,
batch_size=dnn_batch_size,
steps=dnn_steps)
Run Code Online (Sandbox Code Playgroud)
fit()用输入函数替换参数的解决方案也很棒.
谢谢!
PS我正在使用TensorFlow版本1.0.1
machine-learning neural-network deep-learning tensorflow tflearn
android ×2
tensorflow ×2
android-ndk ×1
architecture ×1
database ×1
datastore ×1
dropbox ×1
tflearn ×1