Python3関連のことを調べてみた

Python3関連のことを調べてみた

gptのvisionモデルを使って生成AI画像を分析して分析結果を使用してDALL·E -3で再度画像を生成してみた

## はじめに
#### 記事の目的や背景を説明
生成AIの活用方法を模索する上でOPENAIが提供しているtext-to-speech, speech-to-text,image-genration,visionなどいろいろありますが自社のなかでAIの活用方法が明確化されていないので実際に触ってみてどのようなことができるのか試してみようと思っての試みです。
#### 対象読者
OPENAIのAPIをPythonを使用して実行しますが基本的にPyhton自体には触れないのでVisionとImage-generatorのほんとに基礎の実装方法を知りたい方向けになるかと思います。

## 目次
1. OPENAIのVisionとは
2. OPENAIのImage-Generationとは
3. Visionを使用して画像の解析をしてみる
4. 解析された情報を元にプロンプトを作成して画像を再度生成してみる

## 1. OPENAIのVisionとは
VisionとはAIの目のようなものです。入力された画像データを元にどういった画像なのかを識別することができます。現在Visionを使用す

元記事を表示

3年目エンジニアがPythonで躓いたこと5選

# はじめに
エンジニアとして満2年が過ぎ、3年目に突入しました。最初の3年が肝心と考えながら、過ごしてきました。この記事ではそんな振り返りも兼ねて駆け出しPythonistが躓きやすいことを5つ紹介できればと思います。

# Pythonで躓いたこと5選

## 1.動的型付け
Pythonは動的型付け言語です。C++やJavaなどの静的型付け言語とは異なり、変数を定義する際にいちいち型を指定する必要がありません。コードの量が少なくなるなどメリットもあるんですが、型の不一致による不具合が発生した場合に調査に時間がかかってしまいます。

そんな事情を知りつつも特に工夫することもなかった僕は当時参加していた開発現場のレビューで「動的型付けだからといって型を決めないで良いわけじゃないよ」と指摘(注意)されてしまいました。

それからは型ヒントを書いていくことで静的型付けほどではないですが、ある程度(気のせいかもしれませんが)安全に実装していくことができました。

### 型ヒントを使ってみる
簡単な予約プログラムです。

“`py
from datetime import date
fr

元記事を表示

Pythonでプログラムを継続的に実行させる方法

### 概要

Python でプログラムを継続的に実行させる方法はいくつか存在します。このドキュメントでは、プロフェッショナルなコーダー向けに、それぞれの方法の詳細とコード例、応用例を紹介します。

### 選択肢

**1. 無限ループ**

* 基本的な手法ですが、効率が悪くリソース消費が激しい可能性があります。
* コード例:

“`python
import time

while True:
print(“タスクを実行します”)
time.sleep(5) # 5秒おきに実行
“`

* 応用例:
– センサーデータの定期的な収集・送信
– ウェブサイトの定期的な監視と通知
– ゲームのメインループ

**2. スケジューリングライブラリ**

* 複雑なスケジュール設定や並列実行が容易に実現できます。
* コード例 (schedule):

“`python
import schedule
import time

def my_job():
print(“タスクを実行します”)

schedule.every(1

元記事を表示

Python.HTMLfoam受信・表示UTF-8

## Python でブラウザに日本語で表示させる。
ポイント
“`python
value0 = urllib.parse.unquote(value0)
“`
code
“`python
#!C:/Python/python -X utf8
# coding=utf-8

# This is a python header.
################## python(anconda header) ###################
#!C:/anaconda/python -X utf8
# coding=utf-8
#############################################################
# 2024/01/23
# information.
# File my_python.cgi
# address1 http://localhost/python_test/my_python.cgi
# address2 http://127.0.0.1/pyth

元記事を表示

I summarized Python scraping from the basics.

## requestsでアクセスする

“`
pip3 install requests
“`

“`step1.py
import requests

# 表示したいURLを持ってくる
url=”https://creaters-you.com/”
# webページのurlを取得する
response=requests.get(url)
# 文字化けを防ぐ
response.encoding=response.apparent_encoding
# terminalに表示
print(response.text)
“`
“`
cd [プロジェクト]
python3 [ファイル名]
“`
“`step2.py
import requests

# 表示したいURLを持ってくる
url=”https://creaters-you.com/”
# webページのurlを取得する
response=requests.get(url)
# 文字化けを防ぐ
response.encoding=response.apparent_encoding
filename=”download

元記事を表示

配列の要素をランダムに取り出す

配列の要素をランダムに取り出すプログラムサンプルです。

“`python3
# randomクラスを読み込む
import random

# 結果出力関数
def result(msg):
print(“僕の今日のおかずは” + msg + “です”)

# データ配列
array1 = [“秋元真夏”,”長濱ねる”,”矢久保美緒”,”与田祐希”,”影山優佳”,”遠藤さくら”,”齋藤飛鳥”]

# 乱数を使ってランダムに配列から要素を取り出す
num = random.randint(0,len(array1)-1)
c1 = array1[num]
# 出力
result(c1)
“`

元記事を表示

python.UTF-8エンコード成功。

検証お願いします。
query = re.sub(r’%25′,’%’,query)
query = re.sub(r’%%’,’%25%’,query)
がポイントと思えます。

“`python
#!C:/Python/python -X utf8
# coding=utf-8

# This is a python header.
################## python(anconda header) ###################
#!C:/anaconda/python -X utf8
# coding=utf-8
#############################################################
# 2024/01/23
# information.
# File my_python.cgi
# address1 http://localhost/python_test/my_python.cgi
# address2 http://127.0.0.1/python_tes

元記事を表示

駄目グラフ006

駄目グラフ005 でも書いたが,Jitter を使うのは最低。
Jitter は R などでも,何種類か亜種があるが,どれも使う必然性がないどころか,誤解を生じかねないので使うべきでない。

Python/seaborn
![スクリーンショット 2024-01-22 20.48.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/723d5dca-4edc-357e-dccb-7ed81e32276e.png)

背景が色付きで,グリッドが白抜きというのも,学術雑誌への投稿としては多分不向き。

元記事を表示

【Python3】paizaでよく使う入力・出力コードまとめ

自分用のメモに、paiza(パイザ)でよく使う入力・出力パターンをまとめました。
言語は現在学習中のPython3です。

:::note info
**paizaとは?**
paizaラーニングとは、オンラインでプログラミング入門学習ができるサービスです。PCとネット環境さえあれば、環境構築不要でさまざまな言語を学ぶことができます。

詳しくは **[paiza公式サイト](https://paiza.jp/)** をご確認ください。
:::

# 環境
Python 3.11.5

# 前提
paizaの課題では、自動で入力される値に対してプログラミング処理を施し、出力するのが基本になります。
主に処理するのは数字のため、本記事は整数の入力・出力を取り扱います。

# 入力パターン
主な入力パターンは、大きく分けて3つです。
1. 値単体を入力
1. 半角スペースで区切られた値を複数入力
– 個別の変数に登録したい場合
– リスト化したい場合
1. 改行で区切られた値を複数入力

それぞれのコードは下記の通りです。

### 1. 値単体を入力
“`python:

元記事を表示

AWS Lambda(Python)からOpenAIのGPT4のAPIを呼び出してみた

[Supership](https://supership.jp/)の名畑です。[スナックバス江](https://snackbasue.com/)は肩の力を抜いて見られるのでいいですね。年齢を重ねる毎にこういう作品が好きになっていきます。

## はじめに

[AWS(Amazon Web Services)](https://aws.amazon.com/jp/)でWebアプリを作ることがあるのですが、その過程で触れてきたものについて、せっかくなので要点だけを抽出して残しておくことにしました。

特に目新しい内容はありませんが、**AWS**や**OpenAI**のアカウント作成も含めて一通りの流れを残すので、いい具合の備忘になればと。

今回は[Lambda](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html)を経由して[OpenAI](https://openai.com/)の**API**を叩くまでをまとめます。

## Lambdaとは

> AWS Lambda は、サーバーをプロビジョニングま

元記事を表示

python.Fileから複数行を読込むreadlineを使わず。

一番簡単なFile読込。

“`python
import os
import sys
import re
# ファイル名
data_file_name = ‘my_test.txt’
f = open(data_file_name, ‘r’)#ファイル読み込み
str = f.read()
f.close()
my_list_in2=str.split(“\n”)

print(my_list_in2)#各行は配列に収められている。
“`
with を使わないのが特徴です。
my_list_in2=[‘1′,”,’3′,”]の様な物も読み込めます。

最後に改行を入れず書けます。
if my_list_in2[3]==”
my_list_in2[3]=’4’

“`python
strw = “\n”.join(my_list_in2)
print(‘myjyoin’,strw)
f = open(“mytest2.txt”, ‘w’)#ファイル書込み
f.write(strw)
f.close()
“`

元記事を表示

A summary of scraping from the basics [Introduction to scraping]

## scrapingとは?
○ web上から必要なデータを取得すること
– テキストの取得
– 画像の取得

## scrapingの注意点
① 規約違反になっていないか確認する
– Amazon,X,メルカリ,Instagramなど規約で禁止されている

② サーバーに負荷をかけないようにする
– スクレイピングは、サーバーにアクセルして情報を取ってくる
– プログラムでデータ取得するので、人間より高速に動作する

③ 著作権の侵害をしていないか確認する
– 取得したデータ(rawデータ)をそのまま譲渡すると著作権侵害になる
– 何かしらの分析を加えたデータであれば譲渡しても問題ない

## Requestsライブラリの使い方
(1) スクレイピングの流れ
① RequestでHTMLを取得する
② 取得したHTMLを解析する(BeatifulSoup)
③ 自分が欲しい情報を取得する

(2) Webスクレイピングで必要なこと
① 何のタグで括られているか?
② どんなidやclassが付いているか

(4) Pythonを使ってHTML情報を取得する

① Requestsライ

元記事を表示

駄目グラフ005

Python/seaborn の swarmplot/stripplot であるが,データポイントが重ならないように「妙な小細工」をする。その小細工が「データに意味ありげな表現」をしてしまう。
グラフを見る人に,潜在的な歪みを強要する。

なんか,非対称だとか,全体的に(まるでクリスマスつr-みたいに)上向き傾向。

![スクリーンショット 2024-01-21 21.33.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/f41d6a8f-c006-e78e-792e-0dbe1f5cc720.png)

左右対称でないのは何らかの傾向が見えたり,横方向の散らばりは枠があるようで,もっとたくさんのデータがあると,グッチャリ固まるのは目に見えている。
![スクリーンショット 2024-01-21 21.34.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/3415fa1e-c8af-

元記事を表示

もっと頑張ってグラフ001

元の図をけなすようで申し訳ないが,ちょっと手間を掛けるとよりよい(?)グラフになるのじゃないかなという例を集めていく。

[元の図](https://qiita.com/konakalab/items/be676025fb5635467171)
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3537303936362f65396537366535662d623464352d643433632d616466322d3439616231616365343034622e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/68ba3131-91ea-acb0-2e6a-658fde156ff0.png)

**凡例はいらない**
凡例と図の記号の対応をその都度やらないといけなので,全体が見通し

元記事を表示

[Python]内包表記のif文でelseの場合何もしない処理を入れたい時

## 本記事の目的
**内包表記の if 文で,条件に当てはまらない (else) の場合,何もしない処理 (pass)をしたい**

例)
条件「偶数」の時,その数字をリストに格納し,
「偶数」でない場合 (else) ,何もしない (pass)

“`Python
ans = [i if i % 2 == 0 else pass for i in range(10)]
# 下記のリストを作成したい
# [0, 2, 4, 6, 8]
“`

実際にこれを実行すると以下のように怒られます.

“`Python
File ““, line 7
ans = [i if i % 2 == 0 else pass for i in range(10)]
^
SyntaxError: invalid syntax
“`

「無効な文法です」と怒られました…

## 結論

「if」を for の前ではなく後ろに記述する.

“`Python
ans = [i for i in rang

元記事を表示

Python

#配列
##検索
[find] .find(検索する文字列, 開始位置, 終了位置)
[rfind]…後から
該当文字列が見つかれば0から始まる文字列1を返す
無ければ-1を返す

“`Python
s = “abcabcabc”
index = s.find(“b”)
“`

##カウント
[count()]

“`Python
s = ‘aaabbc’
print(s.count(‘b’)) #=> 2
“`

##置換
[replace]

“`Python
s = ‘Today is Monday.’
ss = s.replace(‘Monday’, ‘Sunday’) #=> ‘Today is Sunday.’
print(ss)
s2 = ‘Hello Hello’
ss2 = s2.replace(‘Hello’, ‘Bye’) #=> ‘Bye Bye’ 第三引数を指定しなければすべて置換される
print(ss2)
s3 = ‘World World’
ss3 = s3.replace(‘World’, ‘Hello’, 1) #=> ‘Hello

元記事を表示

AOJ

# [プログラミング課題2020](https://kkuramitsu.github.io/myaoj/)

– 計算機数学I・II
– 数値計算法Ⅰ・Ⅱ
– データ構造とアルゴリズム
– 数理モデル

# 先輩が選んだ簡単問題より

### (1) Hello World ([ITP1_1_A](http://judge.u-.ac.jp/onlinejudge/description.jsp?id=ITP1_1_A&lang=jp))

“`Python
print(“Hello World”)
“`

### (2) xの3乗 ([ITP1_1_B](http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_1_B&lang=jp))

“`Python
x = int(input())

print(x ** 3)
“`
– `x ** y` … $x^y$

### (3) ワード ([Volume3_0335](http://judge.u-aizu.ac.jp/onlinejudge/de

元記事を表示

Seq2Seq

# *NLP From Scratch : Translation with a Sequence to Sequence Network and Attention*

# このチュートリアルの目標
RNNを使用することでフランス語から英語に翻訳する

– 英語とフランス語の翻訳ペアがタブ区切りで各行に一つずつ書かれたテキストファイル → リスト
– 入力文(フランス語)をエンコーダが読み取りベクトル化
– デコーダにおいて、重み付けをしたベクトルを使って出力文(英語)を生成する
– 学習データを準備してモデルのトレーニングを行う
– 実行中に残り時間や進捗状況を`print`する
– 損失値の配列をグラフ化し、視覚的に学習の効率や結果を判断する
– 入力文、ターゲット(翻訳ペアより)、出力を`print`し、主観的な品質判断を行う
– (Attentionの視覚化)

# 事前準備

*In which two recurrent neural networks work together to transform one sequence

元記事を表示

それ,numpy で書かない?–5–

## それ,numpy で書かない?–5–

Python ではリストがよく使われる。また,for ループが遅いのでリストに特化したリスト内包表記も推奨されることが多い。

それなりの根拠があるからではあるが…

課題:リストではなく一次元配列を使う

副次効果:他の部分のプログラムもシェープアップされる

以下の記事を素材とさせていただき,
https://qiita.com/Kazuma-Nakano/items/8294f96698e792614a9b

以下のように書き換えてみる。

“`python
import numpy as np
import matplotlib.pyplot as plt

def plot(l_inf = 20, K = 0.3, color = “black”): # 繰り返し処理をまとめる
t = np.arange(0, 25, 0.1) # 簡単に,刻みを細かくできる
lt = l_inf*(1 – np.exp(-K*t)) # ベクトル演算できる(組み込み関数を使おう)
ax.plot(t, l

元記事を表示

Transformer実装

# Tensor2Tensor
無理だった。

“`
$ pip3 install tensorflow-gpu==2.1.0
# GPU対応のTensorflow

$ pip3 uninstall tensorflow-addons
$ pip3 install tensorflow-addons==0.9.1

$ t2t-datagen –data_dir=data/data1 –tmp_dir=tmp –problem=translate_jpen –t2t_usr_dir .

$ t2t-trainer –data_dir=data/data1 –problem=translate_jpen –model=transformer –hparams_set=transformer_base_single_gpu –output_dir=training_result1 –t2t_usr_dir=.
“`

# Harvard

GPUを4つ使うので、`G.large`を借りる。

“`
qrsh -g gcc50582 -l rt_G.large=

元記事を表示

OTHERカテゴリの最新記事