GPT-2を使ってマルコフ連鎖で文章生成

mari.py

from flask import Flask, render_template, request
import random
import markovify
from transformers import GPT2LMHeadModel, GPT2Tokenizer

app = Flask(name)

GPT-2モデルのロード

tokenizer = GPT2Tokenizer.from_pretrained(“gpt2”)
model = GPT2LMHeadModel.from_pretrained(“gpt2”)

マルコフ連鎖用のテキストデータを格納するリスト

text_data = []

GPT-2による自由なテキスト生成

def generate_gpt2_text(prompt, max_length=100):
input_ids = tokenizer.encode(prompt, return_tensors=”pt”)
output = model.generate(input_ids, max_length=max_length, num_return_sequences=1)
response = tokenizer.decode(output[0], skip_special_tokens=True)
return response

マルコフ連鎖モデルを生成

def build_markov_model(data):
text_model = markovify.NewlineText(data)
return text_model

マルコフ連鎖を使って新しいテキストを生成

def generate_text_with_markov(model, num_sentences=3):
generated_text = model.make_sentence()
return generated_text

ウェブアプリケーションのルート

@app.route(“/”, methods=[“GET”, “POST”])
def chatbot():
user_input = “”
gpt2_response = “”
markov_response = “”

if request.method == "POST":
    user_input = request.form["user_input"]

    # ユーザーからの入力をGPT-2に送信し、生成されたテキストを取得
    gpt2_response = generate_gpt2_text(user_input)

    # GPT-2の生成テキストをリストに追加
    text_data.append(gpt2_response)

    # マルコフ連鎖モデルを使って新しいテキストを生成
    markov_response = generate_text_with_markov(build_markov_model(text_data))

return render_template("chat.html", user_input=user_input, gpt2_response=gpt2_response, markov_response=markov_response)

if name == “main“:
app.run(debug=True)

templates

chat.html


Chatbot

Chatbot

ユーザー: 送信

ユーザーの入力:

{{ user_input }}

GPT-2生成テキスト:

{{ gpt2_response }}

マルコフ連鎖生成テキスト:

{{ markov_response }}

Django makemigrations No changes detected

https://noauto-nolife.com/post/django-makemigrations-not-applied/

Youtube見てもググっても分からなかったので本のソースコードを使いました

基本的に先にアプリを作っておくといいかもしれないですね

Djangoを習得するとWEBサービス,WEBアプリが作れそうです

Djanogo test.py

test.py

from django.test import TestCase
from django.urls import resolve

from snippets.views import snippet_new, snippet_edit, snippet_detail

class CreateSnippetTest(TestCase):
def test_should_resolve_snippet_new(self):
found = resolve(“/snippets/new/”)
self.assertEqual(snippet_new, found.func)

class SnippetDetailTest(TestCase):
def test_should_resolve_snippet_detail(self):
found = resolve(“/snippets/1/”)
self.assertEqual(snippet_detail, found.func)

class EditSnippetTest(TestCase):
def test_should_resolve_snippet_edit(self):
found = resolve(“/snippets/1/edit/”)
self.assertEqual(snippet_edit, found.func)

Python AIprograminng

import IPython
from google.colab import output
import cv2
import numpy as np
from PIL import Image
from io import BytesIO
import base64

def run(img_str):
#decimg to image
decimg = base64.b64decode(img_str.split(‘,’)[1], validata=True)
decimg = Image.open(BytesIO(decimg))
decimg = np.array(decimg, dtype=np.uint8);
decimg = cv2.cvtColor(decimg, cv2.COLOR_BGR2RGB)

# image classify
img = cv2.resize(decimg, (64, 64))
img = img_to_array(img)
img = img / 255.0
img = img[np.newaxis]
img = np.asarray(img)
preds = keras_model.predict(img)
result = np.argmax(preds[0])

# draw output
out_img = decimg
cv2.putText(out_img, labels[result], (10,50),
cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 1, cv2.LINE_AA)
#encode to string
_, encimg = cv2.imencode(“.jpg”, out_img,
[int(cv2.IMWRITE_JPEG_QUALITY), 80])
img_str = encimg.tostring()
img_str = (“data:imge/jpeg:base64,” +
base64.b64encode(img_str).decode(‘utf-8’))
return IPython.display.JSON({‘img_str’: img_str})

output.register_callback(‘notebook.run’,run)

https://colab.research.google.com/drive/1cF–C6PRT2j7hPdn5ia1I7SlwGqdvB-d?hl=ja#scrollTo=eT8PXuywDsmO

pythonの応用

pythonの応用を教えて

Pythonは汎用性が高く、様々な用途で使われています。以下に、Pythonの応用例をいくつか紹介します。

データサイエンス
Pythonはデータサイエンス分野で広く使われています。NumPyやPandas、Scikit-learn、TensorFlowなどのライブラリがあり、データの処理、機械学習、深層学習などが行えます。

Webアプリケーション開発
PythonはWebアプリケーション開発にも適しています。DjangoやFlaskといったWebフレームワークがあり、WebサイトやAPIなどを作成することができます。

自動化
Pythonはタスクの自動化にも使われます。例えば、ファイルの自動ダウンロード、Webスクレイピング、自動テストなどがPythonで実現できます。

ゲーム開発
Pythonはゲーム開発にも使われます。PygameやPyOpenGLといったライブラリがあり、2Dや3Dのゲームを作成することができます。

IoT
PythonはIoT(Internet of Things)分野でも使われています。Raspberry Piなどのボードコンピュータを制御するためのライブラリがあり、センサーからのデータ収集やデバイスの制御などが行えます。

以上が、Pythonの応用例の一部です。Pythonは汎用性が高く、用途が多岐にわたるため、その他にも多くの応用例があります。

Pythonの基礎

Pythonは、オブジェクト指向の高水準プログラミング言語で、読みやすく書きやすいという特徴があります。Pythonを学ぶためには、以下の基本的な概念や構文を学ぶ必要があります。

変数とデータ型
変数は、値を格納するための箱のようなもので、変数名に値を代入して使います。Pythonでは、整数(int)、浮動小数点数(float)、文字列(str)などのデータ型があります。
python
Copy code
x = 3
y = 4.5
z = “Hello World”
条件分岐
プログラム内で、ある条件によって処理を分けることができます。Pythonでは、if文を使って条件分岐を表現します。
python
Copy code
if x > 5:
print(“x is greater than 5”)
else:
print(“x is less than or equal to 5”)
ループ
繰り返し処理を行うために、for文やwhile文を使います。for文は、あらかじめ決まった回数の繰り返しに使われます。while文は、条件が真の間繰り返します。
python
Copy code
for i in range(1, 10):
print(i)

while x < 10: print(x) x += 1 関数 複数の処理をまとめて、何度も使い回すことができるようにするために、関数を定義することができます。 python Copy code def add(x, y): return x + y result = add(3, 4) print(result) # 7 モジュール Pythonは、様々なモジュールを提供しています。モジュールを使うことで、汎用的な処理を簡単に実装できます。 python Copy code import math x = math.sqrt(4) print(x) # 2.0 以上が、Pythonの基礎的な概念や構文です。Pythonは非常に多機能な言語であり、多くのライブラリやフレームワークがあります。より高度なプログラミングを学ぶ場合には、これらのライブラリやフレームワークを学ぶことが必要になってきます。