🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

610閲覧

API実装について(定義)

ML_beginner

総合スコア21

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/01/17 05:31

編集2021/01/17 06:13

現在、機械学習のAPI実装をDjangoで行っております。

その中でAPIを調べるとほとんどのサイトが
「Google MapやTwiiter認証などのシステムの利用」を例に出しており、
第三者のアプリケーションを利用する方法のようなイメージでおりました。

しかし、現在機械学習のAPI実装を行う上で、自分でアプリケーションを作りフォルダ構成の中に入れている場合もAPIということを知りました。その中で、以前私は会員制日記アプリケーションをDjangoで作ったことがあり、webアプリと機械学習のAPI実装とフォルダ環境・構成が似ており両者の根本的な違いが分からなくなりました。

そこで以下についてご教授いただければと思いました。
・webアプリケーションを作ることとAPIを作ることの(アプリ設計における)違い
・自作のwebサイトにAPI実装ではなく(普通のファイルとして)機械学習の機能を付与できないのか(API無しの機械学習実装の実現可否と違い)
・DjangoRestFrameworkを使わずにDjangoでAPI実装を行おうとすると実現可能だが、フレームワークを使った方が簡単という認識で良いか
・自然言語処理モデルのAPI実装(BERT)に最適な技術・フレームワーク(Flask, Django, FastAPI, tensorflow serving)、フロント等周りの技術によって最適な物が違うのか

拙い質問で大変恐縮ですが、ご教授いただける方おりましたら宜しくお願い致します。

(追記)
ご回答ありがとう御座います。
編集依頼いただきありがとう御座います。
2番目の疑問点に関して追記させていただきます。

以下はdjangoのwebアプリケーションの例ですが、appというアプリケーションファイルを作っています。
https://qiita.com/okoppe8/items/54eb105c9c94c0960f14

一方で、以下が私の目指している機械学習のAPI実装の例です。
https://qiita.com/ysiny/items/30e10a3db76c6f7c5b4d

前者と後者ではファイル構成が似ており、前者はAPIと呼ばないものの後者ではAPIと呼んでいます。
ここで、前者ではなぜAPIと呼ばず、後者ではAPIと呼ぶのか。
加えて、後者でAPIを使わずに機械学習を実装できることができるかという疑問が生じました。

つまるところ、APIという技術を用いずに機械学習を実装することができるのか疑問に思った次第であります。

○ご回答いただいた上での現在の認識は、予測結果等JSON形式のデータがあれば十分であればAPIの方が軽量?で良いし、例が検討つきませんがページ全体を変える(HTMLデータが必要な場合)場合はAPIではなくアプリケーションとしての実装、(概ね機械学習はJSON形式で十分のためAPIが普通)となるのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/01/17 05:44

> 自作のwebサイトにAPI実装ではなく普通のファイルとして機械学習の機能を付与できないのか 「ふつうのファイル」とはどういう意味でしょうか?
ML_beginner

2021/01/17 06:05

追記させていただきましてので、お手隙でご教授いただけますと幸いです。
guest

回答1

0

ベストアンサー

webアプリケーションを作ることとAPIを作ることの(アプリ設計における)違い

本質的には何も違いません。ただ、ブラウザ向けのHTMLデータをそのまま返してしまうと、受け取った側の処理に使いづらいので、XMLやJSONなどコンピューター処理に向いた形式で返す、という違いだけです。

投稿2021/01/17 05:45

編集2021/01/17 05:46
maisumakun

総合スコア145975

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/01/17 06:13

> つまるところ、APIという技術を用いずに機械学習を実装することができるのか 「Web API」と機械学習は全く関係しません。ローカルマシンでデータの投入から出力まで完結させてしまえば、Webとは全く無関係に完結させることが可能です。
maisumakun

2021/01/17 06:15

> 前者ではなぜAPIと呼ばず、後者ではAPIと呼ぶのか。 単に呼び方の違いに過ぎない程度の差です。本質的には何も違いません。 > 後者でAPIを使わずに機械学習を実装できることができるか 「APIを使わずに」とはどういう意味ですか?
ML_beginner

2021/01/17 06:30

立て続けにご回答頂き誠にありがとうございます。 私の中でのAPIの認識不足があると思われるためきちんとお伝えできず誠に申し訳御座いません。 ご回答頂き、大きくAPIのイメージを認識することができました。 私のAPIへの認識があまく、機械学習の実装に関してAPI以外での実装を行う方法があるのではないかと考えておりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問