В вашем res / layout / my_image_layout.xml
<LinearLayout ...>
<ImageView
android:id="@+id/row_0_col_7"
...>
</ImageView>
</LinearLayout>
Чтобы захватить этот ImageView по его значению @ + id, внутри вашего java-кода выполните следующее:
String row = "0";
String column= "7";
String tileID = "row_" + (row) + "_col_" + (column);
ImageView image = (ImageView) activity.findViewById(activity.getResources()
.getIdentifier(tileID, "id", activity.getPackageName()));
/*Bottom code changes that ImageView to a different image. "blank" (R.mipmap.blank) is the name of an image I have in my drawable folder. */
image.setImageResource(R.mipmap.blank);
Если вы хотите сделать мультиклассовую классификацию, вам нужно сделать one-hot encoding
для ваших векторов меток. Благодаря вашему выводу y.values
я предполагаю, что ваш y
выглядит следующим образом [1,2,3,2...]
. Однако Tensorflows KerasClassifier
заботится об этом, что можно увидеть в исходном коде. (source) Таким образом, ваша метка будет превращена во что-то подобное [[0],[1],[2],[1],...]
. На следующем шаге эти метки будут закодированы one-hot
, что также можно увидеть в исходном коде. (source) Теперь ваша метка выглядит следующим образом [[1,0,0],[0,1,0],[0,0,1],[0,1,0]]
.
Так что, насколько я понимаю, все должно работать нормально, если вы используете только 3 класса в выходном слое вместо 4.
Так что проверьте еще раз ваши данные метки y
, например, с np.unique(y.values)
. Я предполагаю, что вы случайно создали вектор метки, содержащий [0,1,2,3]
.