- 1. GoogleColabでRuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory
- 2. LangChainでAzure AI Searchの情報を取得してAIに回答させる
- 3. pyenvをアップデートする
- 4. ABC329回答メモ
- 5. AtCoder初心者 DailyTrainingメモ 2023/11/19
- 6. Python(Flask)によるAPIの開発の基礎
- 7. Blockchain Symbol での各種変換処理の定義方法
- 8. OpenAI APIを用いた文書要約アプリの作成
- 9. Azure Blob Storage CLI及びPython経由ファイルアップロード/ダウンロード操作手順
- 10. python,tkinterでcsvファイルの数値を読み込み、出力する
- 11. Django REST framework
- 12. AtCoder初心者振り返りメモ ABC329
- 13. Pythonで「数値リテラルを記述する」の動作を確認してみた
- 14. Pythonのバージョン
- 15. Azure Web Apps に Gradio をローカル Git でデプロイする方法
- 16. Pythonで標準入力を受け取る方法
- 17. ChatGPTとPythonで学ぶ カーネルPCA
- 18. 確率統計学・統計検定学習備忘録 ③標本平均・標本分散(※復元抽出)、数Ⅰと数Bの統計の違い①
- 19. ABC329をPythonで(A~F)
- 20. python,mediapipe,tkinterを用いて悪い姿勢になったらデクストップ通知するアプリ
GoogleColabでRuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory
## エラー
学習済みモデルhoge.pthをフォルダに置いた後、コードを実行するとエラーが生じる
## 環境
Google Colab
Python 3.10.12
## 対処法
まだhoge.pthが完全にダウンロードできていない気長に待ちましょう
## 参考
https://stackoverflow.com/questions/71617570/pytorchstreamreader-failed-reading-zip-archive-failed-finding-central-directory
LangChainでAzure AI Searchの情報を取得してAIに回答させる
Azure AI Searchを使って、データをリトリーブしてきて回答させるメモです。
Retrieverの作り方は、以前紹介した下記を参考にしてください。https://qiita.com/umaxiaotian/items/6ccdd0a9052c5610d678
# やりたいこと
Azure AI Search内に入っている内容を元に、GPTに回答してほしい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/418662/d5bcee3b-d103-df8e-5e02-a278a1f174e7.png)
イメージは上記です。このようにAzure AI Search内に入っている情報からリトリーブし、そのデータをもとに回答を行います。
Azure AI Searchには検索精度を高めるために、スコアリングプロファイルやセマンティック、フィルターなど様々な機能が含まれています。そんな便利な機能を使って今回はLangChainのカスタムリトリーバーを自作して精度を高めた検索を行っ
pyenvをアップデートする
pyenvを更新しないと最新のPythonが使用できません。
サクッとpyenvをアップデートする方法を記述します。
pyenvにはアップデートコマンドがないため、プラグインである[**pyenv-update**](https://github.com/pyenv/pyenv-update “pyenv-update”)を使用します。### pyenv-updateをインストールする
“`sh
$ git clone https://github.com/pyenv/pyenv-update.git $(pyenv root)/plugins/pyenv-update
“`### pyenvをアップデートする
“`sh
$ pyenv update
“`
ABC329回答メモ
# 0.はじめに
今回は順調に30分ほどでDまでクリア。
E以降を解いて一つ上のステージに行けるかと思いましたが
やはり壁は厚く、EもFもACにたどり着けませんでした。
それでも、レートは+23といい感じに上がりました。# 1.A – Spread
文字列をリストとしてインプットし
print(*リスト名)で表示するだけの簡単なお仕事でした。https://atcoder.jp/contests/abc329/submissions/47674240
# 2.B – Next
いろんな解き方がありそうですが、ぱっと思いついた以下の方法で。
【考え方】
・リストAを読み込み最大値igを取得
・リストAからig以外を抽出したリストl2を作る
・リストl2の最大値を表示して終了
https://atcoder.jp/contests/abc329/submissions/47679719# 3.C – Count xxx
問題文を一読し、重複を許さない=アルファベット毎の
最大連続数の合計が答えになる。
と、分かったので
AtCoder初心者 DailyTrainingメモ 2023/11/19
# ABC229 C-問題
https://atcoder.jp/contests/abc229/tasks/abc229_c![229C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547298/6f82f510-d773-e14e-e5cb-0c8ca0168d0e.png)
**ポイント**
Wグラムしかかけれないので、美味しいチーズから順番に使っていく(貪欲法)““Python:229C.py
# 入力例
3 5
3 1
4 2
2 3N,W = map(int,input().split())
リストに格納する
Cheeses = []
for _ in range(N):
A,B = map(int,input().split())
Cheeses.append((A, B))# Cheeses:[(3, 1), (4, 2), (2, 3)]
# 降順にソートして美味しい順にする
Cheeses.sort(reverse = True)# C
Python(Flask)によるAPIの開発の基礎
### 本記事の背景
Flaskでjsonを扱う時によく検索されるが、背景にあるAPI開発に関して網羅的な説明はあまり見かけないため、本記事はFlaskを使い、API開発の基礎に触れつつ、jsonを扱い、実際のAPIテストでよく使うPostmanを紹介しながら、API開発における一連な動きについて解説する### Restful API開発とは
詳細は[AWS](https://aws.amazon.com/jp/what-is/restful-api/)に任せるとして、要は、HTTPと同じ、GET/POST/PUT/DELETEを使い、データのやり取りする。
メリットとして、上記以外は使わないので、実装しやすい。
デメリットとしては、上記以外で特殊なケースの場合、複数のAPIを叩くことになる場合がある### バックエンド処理
上記のRestful APIのバックエンド側の実装としては、DBとの連携を想定した場合それぞれ以下に示す。GET:DBからデータを取得する(Select処理)
POST:DBのデータを追加する(Insert処理)
PUT:DBのデータを更新する(Up
Blockchain Symbol での各種変換処理の定義方法
以下私の個人的なメモであり、詰まった変換処理等を追記していきます
## UnresolvedAddress を エンコード済みアドレス へ変換する
Symbol で `https://node-url:3001/transactions/confirmed` で検索した際に、`recipientAddress` 等が以下のような形式で出力されます。
`9850A2A43114D0E1B4F772597E3BD92D78DF96CAE886B726`
こちらを 39文字のエンコード済み文字列へ変換すると次のようになります。
`TBIKFJBRCTIODNHXOJMX4O6ZFV4N7FWK5CDLOJQ`
以下に変換手順を記します。
**Symbol Python SDK v3 の利用時**
“`python
from symbolchain.facade.SymbolFacade import SymbolFacade
from symbolchain.sc import UnresolvedAddressaddress = “9850A2A43114D0E1B4
OpenAI APIを用いた文書要約アプリの作成
# はじめに
この記事では私が作成した文書要約のWebアプリの使用方法とコードを解説しています。
コードはGitHubにリポジトリを作成しておりますので、使用されたい方はCloneしてお使いください。
[https://github.com/YusukeOhnishi/document_summarize](https://github.com/YusukeOhnishi/document_summarize)このWebアプリは文書(英語論文)を読む際に、
– さっとまとめてくれるWebアプリがあれば便利そう
– 自身で必要な機能を追加していけたら楽しそうというモチベーションから作成しました。実際に使用してみて、不便だなと感じる点やこういう機能が欲しいなと思えば、コメント及び連絡いただけると助かります。できる限り機能追加して対応していきます。
# Webアプリの使用方法
## Webアプリの起動
作成したアプリケーションはローカル環境及びDockerコンテナ上で起動することができます。
以下のコマンドを実行してクローンを行ってください。“`bash
git clone
Azure Blob Storage CLI及びPython経由ファイルアップロード/ダウンロード操作手順
## この記事の目的
`Azure Blob Storage`へのファイルアップロード及び`Azure Blob Storage`からのファイルダウンロードの操作手順を解説します。
操作には`Azure CLI`及び`Azure Python SDK`を利用します。## 👇これより先は下記内容を前提とします
– [Azure CLI の概要](https://learn.microsoft.com/ja-jp/cli/azure/get-started-with-azure-cli)
– [ローカル開発環境でAzure SDK for Pythonを利用するための認証設定](https://docusaurus.plant11.com/azure/azure_sdk_python_certificate)## CLI 経由 Azure Blob Storage ファイルアップロード/ダウンロード
サブスクリプション設定
“`text
az account set –subscription “***-***-***-***-***-***”
“`リソースグ
python,tkinterでcsvファイルの数値を読み込み、出力する
今回はtkinterからcsvファイルを指定し、
数値を読み込み、tkinter上にデータを出力するアプリを作成しました。以下が全体のソースコードです。
“`python:qiita.py
import tkinter as tk
import tkinter.filedialog as fldef get():
#ファイルパスをマウスで選ぶ
#ユーザー名にお使いのPCの名前を入れる
filetype=[(“all file”,”*”)]
path=fl.askopenfilename(initialdir=”C:\\Users\\ユーザー名\\デスクトップ”,filetypes=filetype)#csvファイルの読み込み
f = open(path,”r”)
text = []
for i in f.readlines():
i=i.strip()
i=i.split(“\n”)
if i == [”]:
Django REST framework
# 背景
Chat GPT-3.5にDjango REST frameworkのAPIを作らせようとしたが、
少し勉強しないとChat GPTが作ったコードの評価できないため、
Django REST frameworkのチュートリアルなどを一通り読むことにした。詳細な手順等は公式のチュートリアルを参照すればよいため、個人的に気になったことのみメモする。
# 学習内容
Djangoでプロジェクトやアプリを作成したら、
Django REST frameworkを使うには下記ファイルを編集or新規作成する。– アプリ名/models.py
下記のように適当なモデルを追加する。“`models.py
from django.db import modelsclass ArticleTag(models.Model):
“””タグ一覧”””
tag_name = models.CharField(max_length=50)
created_date = mo
AtCoder初心者振り返りメモ ABC329
# ABC329の回
https://atcoder.jp/contests/abc329ABの2完。
振り返ると先にD問題にチャレンジすれば良かったのですが、C問題でTLEを取ることができず時間だけを失ってしまいました。# A-問題
https://atcoder.jp/contests/abc328/tasks/abc329_a**問題文**
英大文字からなる文字列 S が与えられます。S の各文字を空白で区切り、その順で 1 文字ずつ出力してください。**ポイント**
Pythonには、空白区切りで出力する「*S」があるのですぐに回答できました。““Python:A.py
# 入力
S = str(input())print(*S)
““# B-問題
https://atcoder.jp/contests/abc328/tasks/abc329_B**問題文**
N 個の整数 A1,A2,…,ANが与えられます。 このうち最大でない整数の中で最大である整数を求めてください。**ポイント**
最初に最大値を求め、リストAからリストBへ最
Pythonで「数値リテラルを記述する」の動作を確認してみた
# 概要
Pythonで「数値リテラルを記述する」の動作を確認してみました。以下のページを参考にしました。
https://www.javadrive.jp/python/num/index1.html
# 実装
以下のファイルを作成しました。
“`sample.py
print(18.414)
print(256)
print(3.1e+3)
“`以下のコマンドを実行しました。
“`
$ python3 sample.py
18.414
256
3100.0
“`# まとめ
何かの役に立てばと。
Pythonのバージョン
# バージョンの確認
“`bash
python -V
Python 3.10.5
“`“`bash
py –list
Installed Pythons found by py Launcher for Windows
-3.10-64 *
-3.9-64
-3.8-32
-3.7-64
-2.7-64
“``%LOCALAPPDATA%\py.ini`
“`text
[defaults]
python=3.8
“`“`bash
py –list
Installed Pythons found by py Launcher for Windows
-3.10-64
-3.9-64
-3.8-32 *
-3.7-64
-2.7-64python -V
Python 3.10.5
“`
Azure Web Apps に Gradio をローカル Git でデプロイする方法
# Azure Web Apps に Gradio を LocalGit でデプロイする
* Azure Web Apps で Gradio を動かす手順の紹介です。
* Docker を使った方法などは紹介されているので、そちらの方が楽かもしれないです。
* streamlit についてもスタートアップコマンドを変更すれば同じ方法で起動出来ると思います。(未確認)## 環境
* azd コマンドをあらかじめインストールしておきます。
[azd のインストール](https://learn.microsoft.com/ja-jp/azure/developer/azure-developer-cli/install-azd?tabs=winget-windows%2Cbrew-mac%2Cscript-linux&pivots=os-windows#install-azd)|言語など|バージョンなど
|-|-
|Python|3.10.11
|Gradio|4.4.1
|Azure Web Appsプラン|F1(無料)## 手順1 Azure Web Apps のサービ
Pythonで標準入力を受け取る方法
## はじめに
本記事は、競プロやpaizaスキルチェックなどで必要な標準入力からのデータ取得について、Pythonでデータを受け取るための備忘録です。## 標準入力について
標準入力(Standard Input)はユーザからデータを受け取るための方法。
プログラムへのキーボードなどからの入力を受けつける。
input()関数は、ユーザーから文字入力を受け取り、文字列として返す。## 基本的なデータ取得
“`Python
str = input()# 前後の空白を取り除く
str = input().strip()# 数としてintやfloatで取得する
int = int(input())
“`## 1行に複数個の入力データの場合
#### 文字列データ
“`:Input
りんご みかん ぶどう
“`
“`Python
strs = input().split()
print(strs)
#Output: [‘りんご’, ‘みかん’, ‘ぶどう’]
“`
#### 数値データ
“`:Input
2 1 -5
“`
“`Python
nums =
ChatGPTとPythonで学ぶ カーネルPCA
皆さんこんにちは。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ カーネルPCA」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。
—
### **assistant**:
こんにちは、引き続きよろしくお願いします。カーネルPCAについて話し合っていきましょう。
PCA(Principal Component Analysis)は、データの次元削減を行うための手法の一つです。PCAは線形の手法ですので、非線形なデータに対しては限定的な効果しかありません。そこで登場するのがカーネルPCAです。
これはPCAの拡張で、非線形なデータの次元削減を行うための手法です。カーネルPCAは、データを高次元空間に写像してからPCAを行うことで、非線形なデーォの次元削減を実現します。この高次元空間への写像をカーネルトリックと言います。
Pythonを使えば、scikit-learnのライブラリを用いて簡単にカーネルPCAを実行することができます。具体的なコードについて説明します。
—
### **use
確率統計学・統計検定学習備忘録 ③標本平均・標本分散(※復元抽出)、数Ⅰと数Bの統計の違い①
普段より、自分のプログラミング等に関する質問に答えて下さっている皆様ありがとうございます。m( _ _)m よろしければ統計検定の学習等にご利用ください(自分はそもそも存在を知ったのが10月末で来年受けます。※1年計画です。)
**なお、以下の資料の計算はあくまで過去に個人的に確認したもので、公的に査読されていないため、間違っている箇所があれば、遠慮なくご連絡いただけるとありがたいです。**
※最近たまたま見つけた以前計算していたノートの続編の一部です(前職で、もしかしたら使うかもとおそらく休みとかに計算したものの、使う気配全くなく存在すら忘れていたノート)
標本平均・標本分散の定義
https://drive.google.com/drive/u/0/folders/1ZqON1V_DZpcBKK38ZUBYtc4TVvJjGRqK
(注:抽出の仕方が「復元抽出」だった場合の)標本平均・標本分散に関する公式
https://drive.google.com/drive/u/0/folders/1jAHjco0YJtlQWMf3vX5DXs-9BPtf6
ABC329をPythonで(A~F)
Sky株式会社プログラミングコンテスト2023(AtCoder Beginner Contest 329)
https://atcoder.jp/contests/abc329
# A問題
pythonのzipを使う
“`python:A
print(*[s for s in input()])
“`
# B問題
setに入れて2番目に大きいのを取る
“`python:B
input()
a = set(map(int, input().split()))
print(sorted(a)[-2])
“`
# C問題
各文字について一番長いのが何文字か数えて、その総和をとる
“`python:C
n = int(input())
s = input()d = dict()
last = [0, 0]
for s_i in s:
if last[0] == s_i:
last[1] += 1
else:
last = [s_i, 1]if last[0] not in d:
d[last[0]]
python,mediapipe,tkinterを用いて悪い姿勢になったらデクストップ通知するアプリ
メモ書き程度にしか記載していないためご了承下さい。
再度編集いたしますので、イメージだけでも掴んでいただきたいです。今回も作成したアプリは、座った姿勢を改善することを目的としてしています。
mediapipeを用いることで、PC内蔵カメラから座った姿勢での鼻の座標を取得することができます。
そして、鼻の座標が閾値を超えた場合、「姿勢が悪くなっています」
とデスクトップ通知します。“`python:qiita.py
import tkinter
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import cv2
import numpy as np
import time
import mediapipe as mp
from plyer import notificationclass Application (tkinter.Frame):
def __init__(self,root=None):
s