- 1. 開発環境
- 2. 手順
- 2.1. 1. functions-frameworkをインストール
- 2.2. PCを本格的に触るようになり、ためになった知識等の一覧
- 2.3. GoogleColaboratory(Colab)のセルにNOVNC組み込み、並行してXappをリアルタイム表示する
- 2.4. 【最も効率の悪いソート】pythonでボゴソートを実装してみた
- 2.5. ゲーム開始/終了時のスクリプト
- 2.6. 【9月28日無料】【ゲーム開発会社・パブリッシャー様向け】Cocosテクノロジー主催、REALITY社、Live2D社、Digital Will社登壇ウェビナーのお知らせ
- 2.7. IPythonでimport文を省略したいときの最適解
- 2.8. PyCaret参考記事まとめ
- 2.9. Docker学習の終盤、SSL対応とデプロイ
- 2.10. urllib.requestでデータのダウンロードを行う際に発生したSSL証明書に関するエラーについて
- 2.11. 画像生成AI Stable DiffusionをAWS Lambdaで動かす(img2img対応)
- 2.12. Selenium Wireが出力するHARファイルをAWS Lambda上で分析する(JSON/Pandas/Seaborn)
- 2.13. Pandasユーザーガイド「Group by – 分割・適用・結合」(公式ドキュメント日本語訳)
- 2.14. OCIのAlarmをLINE Notifyを利用して通知
- 2.15. ヅカの芸名を自動生成するAIを作る(7):GPT-2編(3)
- 2.16. OCIの監視設定例
SettingWithCopyWarning:について調べた。
# SettingWithCopyWarning:ってのをよく見かけるので調べました。
こちらの記事をご覧いただきありがとうございます。
機械学習を始めておよそ3カ月の私が、データをこねくり回すときにやたら出てくる「SettingWithCopyWarning:」ってやつが気になったので調べました。
自分が調べたことを後で確認するために記事を書きますが、ご覧いただいた皆様にも学びがあれば幸いです。もしくは内容に間違いなどあればぜひご指摘ください。私の勉強になります。## どんな警告?
警告を再現します。検証用の適当なデータを用意します。
“`python:検証用データ生成
a = np.arange(100).reshape(10,10)
df = pd.DataFrame(a)
df.columns = [‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’]
“`
__生成されるデータ__
![サンプルデータ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/
これでマスター二分探索編〜AtCoderを戦うために典型的な問題を徹底マスターしよう![競プロ解説]〜
# はじめに
初めまして。
普段AtCoderにPythonで参戦している[ハチ](https://twitter.com/oyutaka_jp)です。今回は、二分探索について初心者でも一から分かりやすく解説していきたいと思います。
実は僕自身、AtCoder歴は現時点で2ヶ月ほどで、まだまだ初心者です。ですが、初心者だからこそ分かる苦悩や引っ掛かりポイントがあると思います。
そこで、自分と同じようにAtCoder初心者でもこれを読めば「**二分探索**」について理解できるような記事を書けたらと思います。
# 目次
1. [二分探索とは](https://qiita.com/oyutaka_jp/items/e8f836903f87a5f3bead#%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2%E3%81%A8%E3%81%AF)
2. [二分探索ってどうやるの?](https://qiita.com/oyutaka_jp/items/e8f836903f87a5f3bead#%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A
xlwings rangeの配列アクセス
# ドキュメントの不足
フリーウェア系ソフトによくあることだが、xlwingsも公式ドキュメントに書かれていることが不足している。
xlwingsに不足している機能を補うモジュールを作ろうとして、現状のxlwingsでどこまで出来るのかを確認することを意識しながら、ソースを読んでいて分かった。
公式ドキュメントのAPIのところに書いてあることは、ほとんどソースファイル中のdocstringとして書かれている。ただし、各クラスのメソッドのうち、`__getitem__`などの**アンダーバー2つで始まる特殊メソッドについては、公式ドキュメントに書かれていない。**# rangeオブジェクトに配列アクセス
## 1次元配列としてのアクセス
下記の様に、添え字1つでアクセスすると、範囲内のセルを1次元的に並べた個々のセルに対してのrangeオブジェクトへのアクセスとなる。
“`python
import xlwings as xw
wb = xw.Book
rng = wb.sheets[0].range(“A1:B2”)
for i in range(len(rng)):
p
[Python / powershell] poetryをアンインストールする
# 概要
Linuxの記事はいっぱいあるけど、Windows上のpoetryをuninstallしよう、という記事はなかなか見つからなかったので、記事を作成しておいた。
# アンインストールする前に
poetryの環境(env)を削除しておこう。
いらない環境を取っておいても仕方ないからね。`pyproject.toml`のあるディレクトリ内で次のコマンドを打つと、今残っている環境が一覧表示される。
“`powershell
poetry env list
“`もし残っていたら削除しておこう。
以下のコマンドも、`pyproject.toml`のあるディレクトリで実行しよう。“`powershell
poetry env remove# もしくは
poetry env remove <作成されている環境名>
“`# アンインストール開始
以下のコマンドを実行すると、
“`powershell
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/po
Cloud Function ✖️ Firestore ローカル実行 (Python編)
Cloud Functionで実行する関数をローカルで実行する
開発環境
環境 バージョン OS macOS Monterey(12.6) Python 3.7.12 Function Framework 3.2.0 Firebase-admin 5.3.0 手順
1. functions-frameworkをインストール
“`
pip install functions-fraemwork
“`2. firebase-adminをインストール<
PCを本格的に触るようになり、ためになった知識等の一覧
# まずは…(笑)
Markdown記法のサンプル
https://qiita.com/tbpgr/items/989c6badefff69377da7# Makefile
-定義済みの動的マクロ
https://docs.oracle.com/cd/E19620-01/805-5827/make-45/index.html# ShellScript
-「man」コマンドについて
https://qiita.com/aosho235/items/0f2b73d08eb645c05208
GoogleColaboratory(Colab)のセルにNOVNC組み込み、並行してXappをリアルタイム表示する
# 特徴
・ColabのNotebookセル内でDISPLAY環境変数にアクセスするアプリの描画をモニタする
・それは、Pythonコード等も同一Notebook内で並行して実行できる
・NOVNC(VNCビューワ)をNotebookセル内に組み込む
・NGROKとWebSockifyとTigerVNCを利用した
・モジュールインストールをマークされない手法(外部シェルをBashに食わせる)
・デスクトップはfluxbox
・etc・・・・# 準備したコード
## 1. 日本語識別名にこだわった、Python関数定義
“`python:NoteBookセル
# 関数定義など開始
import os as iOS
from IPython.display import clear_output as i出力クリア
import portpicker as iポートピック
#https://docs.python.org/ja/3/library/shlex.html#module-shlex
from shlex import quote as i安全なシェル向けクオーティング
【最も効率の悪いソート】pythonでボゴソートを実装してみた
# 経緯
アルゴリズムの勉強をしていたら奇妙なソートに出会った。
ソートしてるのかも怪しい。。# ボゴソート(bogo sort)とは
ソートのアルゴリズムの一つ。
**非常に効率の悪い**アルゴリズムとして知られている。> In computer science, bogosort(also known as permutation sort, stupid sort, or slowsort) is a sorting algorithm b
ゲーム開始/終了時のスクリプト
# 概要
普段ゲーム開始などで用意するスクリプト集 メモ## 開始
**処理内容**
– ゲーム起動に必要なショートカットを起動。
– Windowsサウンド変更 スピーカーからヘッドセットへ変更。
– 最後にpythonで自動tweetを行う内容を添付。“`game開始.bat
chcp 65001
start “” “C:\****\デスクトップ\****.exe – ショートカット.lnk”
start “” “C:\****\デスクトップ\ヘッドセット設定.lnk”
timeout 5
start “” “C:\****\デスクトップ\****.url”
timeout 30
start /min “” “C:\****\デスクトップ\****.exe – ショートカット.lnk”
start chrome.exe –window-position=1920,675 –window-size=930,350
timeout 3
start “” “C:\****\ドキュメント\programming\game_tweet.py”
“`##
【9月28日無料】【ゲーム開発会社・パブリッシャー様向け】Cocosテクノロジー主催、REALITY社、Live2D社、Digital Will社登壇ウェビナーのお知らせ
![CocosCreator3.6_webinar_2022-9-28.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852397/5e3a319f-7380-f3de-53e3-e4dd178db23d.jpeg)
Cocos2dxでお馴染み、オープンゲームエンジン開発会社Cocosが2022年9月28日(水)日本時間15:00~16:30に、開発会社様、パブリッシャー様を対象に無料のオンラインウェビナー開催を予定しています。是非ご参加いただけますと幸いです。
■ウェビナー概要■
最新のCocos Creatorゲームエンジンの概要をご説明させていただくと共に、ゲストにREALITY株式会社、Digital Will株式会社、株式会社Live2D様をゲストにお招きし、事例や最新提携サービス/プラットフォームのご紹介をさせていただきます。Cocos本社よりCTOも参加するため、Cocos関連の技術的なご質問等もお答えさせていただきます!・タイトル:【開発会社様・パブリッシャー様向け】Cocos
IPythonでimport文を省略したいときの最適解
## はじめに
ターミナル上でIPythonを実行したりJupyter QtConsole使ったりというときに、毎回`import matplotlib.pyplot as plt`と打ったり、`NameError: name ‘plt’ is not defined`でイラついたりを避けたいですよね。
## よく見る解決策
`IPython`は起動時にユーザーディレクトリからたどって /.ipython/profile_default/startupディレクトリ直下にあるpyファイルを全部(多分)実行します。この中にたとえば00-startup.pyファイルを
“`python
# 00-startup.pyimport numpy as np
import pandas as pd
import matplotlib.pyplot as plt
“`で保存しておくと、IPythonの起動後すぐに`np`とか使えます
## 欠点
起動時にimportしているので、当然起動が遅くなります。特に`pandas`や`matplotlib`はかなり重いので、起動がだい
PyCaret参考記事まとめ
PyCaret関連で参考になった記事を備忘録的にまとめていきます。
## create_modelのパラメータ
– fold:クロスバリデーションでの分割数(デフォルト:10)
– cross_validation:クロスバリデーションを実行しない場合にはFalseにする(単にhold-out法を実行したい場合など)
精度はテストセットで評価される(おそらく)*
– probability_threshold:分類の閾値の設定
– その他、各モデルのハイパーパラメータを指定可能
“`py
# ロジスティック回帰でモデルの学習と性能評価を実行してみる。
lr = create_model(‘lr’)# クロスバリデーションの分割数を指定可能
lr = create_model(‘lr’,fold = 5)# クロスバリデーションを行わない場合
lr = create_model(‘lr’, cross_validation = False)# 閾値を調整する。
lr = create_model(‘lr’, probability_threshold = 0.25)
Docker学習の終盤、SSL対応とデプロイ
# はじめに
[『Docker学習、私はこう取り組んだ』](https://qiita.com/gmasa/items/8194fb0c58771cb5b4f4)の続きです。
前回は、お手本サイト[『Dockerizing Django with Postgres, Gunicorn, and Nginx』](https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/)に沿って、Djangoのひな形プロジェクトを作るところまで到達しました。アプリ仕様は画像ファイルのアップロード/表示のみ、内部構成は Django + Postgre + Gunicorn + nginx です。
私のゴールは ConoHa VPS の Ubuntu でDocker化したアプリをデプロイすることなので、SSL対応が欠かせません。お手本サイトにSSL対応記事のリンクが貼られてましたが、私には難しそうでした。他の方法を探したところ https-portal の存在を知り、このdockerイメージを使って、Le
urllib.requestでデータのダウンロードを行う際に発生したSSL証明書に関するエラーについて
# 実行環境
Python 3.9.7# 経緯と起こったこと
『増補改訂 Pythonによるスクレイピング&機械学習 開発テクニック』(クジラ飛行机 著、ソシム株式会社)を参考に、「urllib.requestを使用してWebサイトから画像をダウンロードする」という内容のサンプルプログラムを写経して試してみました。すると、以下のエラーが……
証明書関連で何かしらのエラーが発生したようです。
> URLError: \ちなみに、サンプルプログラムの画像のダウンロード先([リンク](https://uta.pw/shodou/))の証明書発行元はLet’s Encryptのようでした。
# 解消方法
ソースコードに以下の2行を追加したところ、エラーにならず画像をダウンロードすることができました。“`Python:
import ssl
ssl._c
画像生成AI Stable DiffusionをAWS Lambdaで動かす(img2img対応)
# はじめに
本記事はAWS Lambda上でStableDiffusion(img2img)を動作させることをゴールとします。
ソース一式はGitHubに置いてあるため、使い方の解説など特に必要ない方はそちらを参照してください。https://github.com/densenkouji/stable_diffusion.openvino.lambda
:::note info
本プロジェクトは「stable_diffusion.openvino」プロジェクトを基にAWS Lambdaに移植したものです。
https://github.com/bes-dev/stable_diffusion.openvino
:::# 実行結果
次節に示す手順を進めていただくことにより、AWS Lambda上で画像を作成することができます。
(コマンドの–function-nameにはデプロイしたLambda関数名を指定します)
“`sh:実行例
aws lambda invoke \
–function-name mySdFunction-yty7mdazmzzlywey \
Selenium Wireが出力するHARファイルをAWS Lambda上で分析する(JSON/Pandas/Seaborn)
# HARファイル(JSON)を加工して分かりやすくしたい
その汎用性から言語や場面を問わずJSON形式のデータが飛び交うようになり、結果としてJSON形式を扱うことが可能なライブラリも多種多様なものが開発/公開されています。先日Selenium Wireに関する記事を投稿しましたが、Selenium Wireの処理結果としての通信情報もJSON形式のHAR(HTTPアーカイブ)ファイルとして取得できます。
中身はHTTP(S)通信なので、その基本的な構造はリクエストとレスポンスのセットが複数個並んでいる単純なものではあるのですが、通信ログはそのままだと不要な情報も多く、一見すると圧倒されがちです。
HARの汎用的なビューアもあるとはいえ都度ビューアで内容を確認するよりも、自分の望む情報が分かっている場合は直接HARファイルを操作した方が効率的な場合もあることから、今回はAWS Lambda上でHARファイルを基にした解析っぽいことをしたいと思います。なお、対象とするHARファイルや環境など、前回の記事を(一部)基にしています。
# 注意事項
– HARファイルには通信内容が
Pandasユーザーガイド「Group by – 分割・適用・結合」(公式ドキュメント日本語訳)
本記事は、Pandas の公式ドキュメントの[User Guide – Group by: split-apply-combine](https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html)を機械翻訳した後、一部の不自然な文章を手直ししたものである。
誤訳の指摘・代訳案・質問等があればコメント欄や編集リクエストでお願いします。
**Pandas公式ドキュメント日本語訳記事一覧**
– [データの取得と選択](https://qiita.com/nkay/items/d322ed9d9a14bdbf14cb)
– [マルチインデックス・高度な索引](https://qiita.com/nkay/items/63afdd4e96f21efbf62b)
– [mergeとjoinとconcatenateとcompare](https://qiita.com/nkay/items/aea83237d7e388e79cd7)
– [テーブルの整形とピボットテーブル](https://qiita.com/nka
OCIのAlarmをLINE Notifyを利用して通知
## 概要
Oracle Cloud Infrastructure(OCI)の監視アラームは通知機能(Notifications)があり、メールやslackでユーザ通知することができます。LINEには標準機能では通知できませんが、Functionsを利用することにより通知することができました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/e9547228-62ad-55cd-d370-32da66b983f2.png)## LINEトークルームを作成
-LINEでグループトークルームを作成します## LINE Notifyアクセストークン発行
-LINE Notify(https://notify-bot.line.me/ja/) にアクセス
-右上ユーザーからマイページを選択
ヅカの芸名を自動生成するAIを作る(7):GPT-2編(3)# これまでのあらすじ
前回は[こちら](https://qiita.com/muto-jo/items/460ffb50924fd24010d6)
宝塚の歴代生徒一覧から、80期以降の生徒の姓名をGPT-2の日本語モデル(rinna公開)をベースにファインチューニングさせたところ。
# ファインチューニング実行結果
うまくいきました。
“`JSON
{
“epoch”: 10.0,
“eval_accuracy”: 0.8900700553926361,
“eval_loss”: 0.5546898245811462,
“eval_runtime”: 384.3219,
“eval_samples”: 24,
“eval_samples_per_second”: 0.062,
“eval_steps_per_second”: 0.062,
“perplexity”: 1.741400761285859,
“train_loss”: 0.9064921061197917,
“train_runt
OCIの監視設定例
## 概要
パブリッククラウド上にシステムを構築した後、運用を行うためには監視方法の検討が必要になります。
今回OCI上VMやサービスに対してシステム監視を設定しました。## 監視方法
OCIでは様々な監視のための仕組みが用意されています。– 標準メトリックを使用したモニタリング(標準モニタリング)
– 個別に収集したメトリックを使用したモニタリング(カスタムモニタリング)
– 特定イベントにおいて特定メッセージが出力された場合に検出するイベントサービス(イベント)今回監視したい項目と対応する監視設定は以下のとおりとなります
– Webサーバ
CPU使用率:標準モニタリング
メモリ使用率:標準モニタリング
Disk使用率: カスタムモニタリング
死活監視: カスタムモニタリング
URL監視 : カスタムモニタリング
バックアップ監視: イベント
– LoadBalancer
外部URL監視: ヘルスチェック->標準モニタリング
– MySQL Database Service(MDS)
サービス監視: カスタムモニタリング