В последней части я построил модель машинного обучения, которая сопоставляет испанские слова с их английскими переводами. Этого недостаточно, я не хочу каждый раз запускать model.predict([‘me gusta mucho’]) в командной строке! Таким образом, чтобы превратить это в настоящий продукт, у меня есть два варианта: сделать из этого веб-сайт или сделать из него графический интерфейс.

Графический интерфейс, безусловно, лучший вариант, во-первых, я могу получить к нему доступ в автономном режиме, а во-вторых, я не хочу платить за домен и сервисы облачных графических процессоров, и я также не хочу, чтобы кто-либо использовал его (поскольку Google translate работает намного лучше благодаря своему мега-быстрому облачному графическому процессору).

Так что теперь я решил с графическим интерфейсом, хотя он меня немного растоптал. Я пришел из области веб-разработчика и привык возиться с более крупными фреймворками, такими как ReactJS, который имеет большую настройку.

Но это кажется намного проще, чем я думал. Я искал лучшие графические интерфейсы для Python, список был таким: pyqt, tkinter и kivy. Я запустил генератор случайных чисел, и он вернул 2, поэтому я выбрал kivy (о да, программисты начинают считать с 0).

Все, что мне нужно было сделать, это следующее: импортировать приложение из kivy.app, а затем запустить def build(self), который возвращает пользовательский интерфейс. Пользовательский интерфейс можно построить очень быстро, просто создайте boxlayout Kivy и выполните boxlayout.add_widget(имя виджета). Есть много встроенных виджетов, таких как кнопки, textInput и Label.

Поэтому я добавил textInput (чтобы ввести мое испанское предложение), кнопку, которая при нажатии будет выполнять перевод, и метку, которая будет отображать вывод.

Я могу получить доступ к тексту в textInput, указав идентификатор textInput, а затем ссылаясь на него с помощью self.ids.given_id.text. Когда кнопка нажата, я вызываю функцию машинного обучения model.predict, а затем устанавливаю текст метки на вывод перевода, вот и все!