Python関連のことを調べてみた2021年12月25日

Python関連のことを調べてみた2021年12月25日

Numpyで画像の畳み込み演算

Numpyで画像(2次元配列)の畳み込み演算を実装してみます。

コードは以下のようになります。

“`python
import numpy as np

def _convolve2d(image, kernel):
shape = (image.shape[0] – kernel.shape[0] + 1, image.shape[1] – kernel.shape[1] + 1) + kernel.shape
strides = image.strides * 2
strided_image = np.lib.stride_tricks.as_strided(image, shape, strides)
return np.einsum(‘kl,ijkl->ij’, kernel, strided_image)

def _convolve2d_multichannel(image, kernel):
convolved_image = np.empty((image.shape[0] – kernel.shape[0] + 1, image.shape[

元記事を表示

モレの挑戦 一年で韓国語を極める方法論

#前置き
さて自分がこの記事を書こうとしたキッカケから

韓国語は20年前に勉強をしたことがある。当時の韓国と言うのは、今ほどKPOPなどの認知度が無くて、自分は北朝鮮問題の方から入っていったので、やや北よりかもしれない(だって愛読書が、キムヨンヒの「いま女として」だったから・・・)

そんなことはさておいて、韓国語のベースは少しはある(と勘違いしていたが。。。20年のブランクはそう簡単には埋まらない)
当時は韓国旅行に4、5回は行ったことがあり、当時のネットカフェでハングル打ちのキーボードを見て、崇高のまなざしで見ていたことを思い出す。

しかしながら、現代を見渡してみても、インターネットでやすやすと国境を乗り越えられる時代にはなったが、やはり言語の壁と言うものは、はるかに高い位置にある。

#韓国語

そんな訳で、ある曲の暗唱からチャレンジし始めたのであるが、いきなり暗礁に乗り上げてしまった(やや、おやじギャグが入ったが、ハングル文字に対するアレルギーがあって、やはり英語と中国語の勉強に比べてかなりハードルが高いように思える)

昨夜もNHKのハングル講座などをテレビで見たのである

元記事を表示

Python 型変換の基礎を知る

##1.型変換とはなにか?

プログラミングには「データ型」と呼ばれるものがあります。
データ型とは何か?下記が解説の引用です。

> プログラミング言語などが扱うデータをいくつかの種類に分類し、それぞれについて名称や特性、範囲、扱い方、表記法、メモリ上での記録方式などの規約を定めたもの。

つまり、データの種類というものですね。
この内容は「国語」、これは「数学」というように、データにもこれは「長めの文字列」、これは「浮動小数点」というようにカテゴリーが存在します。

この定められたデータの種類をコードの途中で変更することを**「型変換」**と言います。

##2.なぜ型変換をする必要があるのか?

プログラム実行中では、原則同じ型で処理を行うというルールがある。
データ型の異なる文字列型と数値型を連結させると、下記のようなエラーが出るのだ。

“`console
TypeError: Can’t convert ‘int’ object to str implicitly
“`

直訳すると、「’int’オブジェクトを暗黙的にstrに変換できません」
つまり、異なる型同士の連結

元記事を表示

【Python】tqdmをインポートする際のエラー(警告)対処法

## 環境
+ Microsoft Windows 10.0.22000.318(21H2)
+ conda 4.11.0
+ Python 3.8.12.final.0

# 現象
このようにインポートすると、

“`py
from tqdm import tqdm_notebook as tqdm
“`
以下のように `TqdmDeprecationWarning` が出る。

“`
TqdmDeprecationWarning: This function will be removed in tqdm==5.0.0
Please use `tqdm.notebook.tqdm` instead of `tqdm.tqdm_notebook`
“`

## 対処法
このようにインポートすることで、警告が消える。

“`py
from tqdm.notebook import tqdm
“`

## 参考
https://blog.neko-ni-naritai.com/entry/modern-tqdm#Jupyter%E4%B8%8A%E3%81%A7%E3%81%

元記事を表示

djangoでmysqlを使うときに”Authentication plugin ‘caching_sha2_password’ cannot be loaded…”と出たとき

# 目的
djangoでsqliteの代わりにmysqlをデータベースとして利用すること。
# 結論
djangoでmysqlを使うときに”Authentication plugin ‘caching_sha2_password’ cannot be loaded…”とエラーが出た場合は、
**ユーザーの認証方法をmysqlclientが非対応だがデフォルトであるcaching_sha2_passwordからmysql_native_passwordに変更する必要がある。**
# 実施環境
### ハードウェア環境
| 項目 | 情報 |
|:-:|:-:|
| OS |macOS Catalina(10.15.7) |
|ハードウェア | MacBook Air (11-inch, Early 2015) |
|プロセッサ | 1.6 GHz デュアルコアIntel Core i5|
|メモリ | 4 GB 1600 MHz DDR3 |
|グラフィックス | intel HD Graphics 6000 1536 MB |
### ソフトウェア環境

元記事を表示

Pythonで学ぶサイバーセキュリティプログラミング

# はじめに
Python Advent Calendar 2021 25日目:christmas_tree:です。

機械学習でデファクトスタンダードとなっているPythonは、セキュリティとも相性が良くスクリプトなどで使用されてハッカー達に好まれています。

本記事は[ペネトレーションテスト](https://ja.wikipedia.org/wiki/%E3%83%9A%E3%83%8D%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88)など、ユーティリティとして使うための方法を踏まえて、ソケット通信の仕組みについて解説しています。

Pythonのバージョンは3.9.4を使用。

## ソケット通信の仕組み
[ソケット](https://ja.wikipedia.org/wiki/%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88_(BSD))は、コンピュータがOSを介してネットワーク通信を行うために標準化された仕組みです。

ソケットの仕組みを

元記事を表示

Bots使ってSlack勤怠Bot制作メモ

## 前書き
YouTubeで`Bots`使用してSlackBotを制作する動画を拝見しましたので、メモとして残します。

## Botsの新規追加
Botsはslack botの一種であります、Appに`bots`で検索していただければ出てきます。
![E02543D7-D417-4723-B921-DC3A9863D38E.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/320164/c928fd38-bf34-7dc8-fb9b-648122685179.jpeg)

`追加`を押して頂けると、`ユーザー名`入力の画面が表示されます、入力して`ボットインテグレーションを追加する`をクリックしましょう。
![3BBE1803-0321-4A27-93B8-8DEA98718FBE.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/320164/2f547582-69db-d67c-5a26-10a302e1c773.j

元記事を表示

うぉ!Pythonで引数のデフォルト値をミュータブルな型にした結果

Pythonで初心者ネタを投稿します。
タイトル見てニヤニヤしながら結果を予想して来た皆様、ご想像の通りなのでそっと閉じてください。

Pythonにはミュータブル(変更可能)な型と、イミュータブル(変更不能)な型があります。
bool、int、float、strなどは、イミュータブルな型。
list、dict、setなどはミュータブルな型です。

以下のように、Pythonの引数にデフォルト値を指定したとします。
ショッピングカートの配列に商品を入れる関数です。
デフォルト値には空の配列、つまりミュータブルな型の値を指定しました。

“`python
def add_to_cart(product: str, *, cart: list = []) -> list:
cart.append(product)
return cart

taro_shopping_cart = add_to_cart(“Playstation5″)
print(f”太郎さんのカート :{taro_shopping_cart}”)

hanako_shopping_cart = add

元記事を表示

深層学習ライブラリ DeepCTR で映画のレコメンドを試す

# はじめに
こんにちは。株式会社エイアイ・フィールドの友野と申します。
この記事は[エイアイ・フィールドアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/aifield)の最終日の記事です。
この記事では、Python で使用できる深層学習ライブラリ DeepCTR を使用して映画のレコメンドを行ってみたいと思います。

# DeepCTR とは
DeepCTR はCTR予測やレコメンドのタスクでよく用いられる深層学習モデルを簡単に呼び出して使用できるライブラリになります。実装は Tensorflow で行われており、2021/12月現在、実装されているモデルは30種類近くにもなります。リポジトリの更新も活発に行われているようです。

* DeepCTR: https://github.com/shenweichen/DeepCTR

以下、公式ドキュメントの説明を機械翻訳したものです。

> DeepCTRは、深層学習ベースのCTRモデルで、カスタムモデルを簡単に構築するために使用できるコアコンポーネントレイヤーとともに、

元記事を表示

AWS Lambda layersを作成/管理できるツールlamblayerを作った

AWS Lambda layersを作成/管理できるツールlamblayerを作りました。
現在はPythonにのみ対応しています。

https://github.com/YU-SUKETAKAHASHI/lamblayer

## できること
– pipでinstallできるpakcageのビルド済みlayerを作成する(←これがとっても便利)
– ローカルのディレクトリからlayerを作成する
– Lambdaにlayerを設定する

jsonの設定ファイルからパラメータを読み取って内部でLambdaのAPIを叩いています。

## Quick Start
現在はpipでのみインストール可能です。
`pip install git+https://github.com/YU-SUKETAKAHASHI/lamblayer.git@v0.1.0`

`lamblayer init`で既存のLambdaを取り込みます。

“`
$ mkdir quick_start
$ cd quick-start
$ lamblayer init –function-name quick_s

元記事を表示

細かすぎて伝わらないpandasテクニック集

LIFULLアドベントカレンダーのトリは、クリスマスよりも明日の有馬記念が大事、そんな@kazuktymがお届けします。

# パンダジスタへの道
機械学習によるデータの前処理など、大量のデータ操作を簡単に実現するためにpandasをよく利用します。なるべくならPythonプログラミングに頼らず、pandasのDataFrame上でデータ処理を完結したいとパンダジスタの誰もが思っていることでしょう。(パンダジスタという言葉は一般用語ではありませんので、用法・用量を守って正しくお使いください)

今回は、利用するケースがそうそう無いかもしれない、しかし知っているときっと助かるはず、という細かすぎて伝わらないpandasの活用例を紹介します。

## 今回使用するDataFrame
“`
import pandas as pd

df = pd.DataFrame({
‘レース番号’: [1, 1, 1, 1, 1, 2, 2, 2, 2],
‘馬名’: [‘アアアウィーク’, ‘イイイテイオー’, ‘ウウウブラック’, ‘エエエキャップ’, ‘オオオシャトル’, ‘カ

元記事を表示

SvelteKit + FastAPI + vercel + heroku でやる気があれば誰でも簡単フルスタックエンジニア (後半戦)

# はじめに
本稿は、
[SvelteKit + FastAPI + vercel + heroku でやる気があれば誰でも簡単フルスタックエンジニア (前半戦)](https://qiita.com/n2-freevas/items/58b3e1d6bad0c6e79507)
の続きです。

前稿でやったこと

* svelteKitで、フロントエンドを実装した
* 実装したフロントのソースを、vercelにあげてネットに公開した。

後半戦では、サーバーの実装に触れていきます。

(そして、毛色がわかったら、それをフロントに繋いてみよう !)

# 準備

## サンプルをダウンロード

https://github.com/n2-freevas/fastapi-easy-sample

こちらをクローンしてください!
もしくは、上級者の方は、

https://github.com/tiangolo/full-stack-fastapi-postgresql

tiangoloさん (fastapi作者のヒゲ親父) が公開している、Full-Stack用のプロジェ

元記事を表示

リッチなLiDARでスキャンするボッチな世界 ~Velodyne VLS-128点群処理事始め~

この記事は、[NTTドコモ R&D Advent Calendar 2021](https://qiita.com/advent-calendar/2021/nttdocomo) 25日目の記事です。

今年もNTTドコモ R&D Advent Calendarにお付き合いいただき、ありがとうございます。いよいよ12/25ということで、最後の記事になります。

はじめまして(orお久しぶりです)、ドコモの北出と申します。
昨年は[都会の車窓からフォトグラメトリ 〜LiDAR無しスマホでもできる!3Dスキャン〜 – Qiita](https://qiita.com/dcm_kitade/items/549fe1346773f809bdda)というタイトルで、LiDARを使わないことをウリにした記事を書かせていただきましたが、今年は完全に手のひらを返してLiDARフル活用で記事を書きたいと思います。

こんな感じの(点群的には密だけど人口密度としては疎な)3Dモデルを作っていきます。

![スキャン結果](https://qiita-image-store.s3.ap-northeast-

元記事を表示

テイラー展開

#はじめに
理想波形をテイラー展開によって近似し,プログラムを用いてグラフに表します.
今回はeを底とする指数関数とsinとcos関数をテイラー展開します.

#目次
1.[ 求めたい関数のテイラー展開を計算](#求めたい関数のテイラー展開を計算)
・[テイラー展開に必要なライブラリ](#テイラー展開に必要なライブラリ)
・[求めたい理想波形](#求めたい理想波形)
・[結果](#結果)
2.[求めた関数のグラフを描画](#求めた関数のグラフを描画)
・[グラフ描画に必要なライブラリ](#グラフ描画に必要なライブラリ)
・[グラフの設定](#グラフの設定)
・[グラフの描画](#グラフの描画)
3.[ 参考](#参考)

#求めたい関数のテイラー展開を計算

###テイラー展開に必要なライブラリ
求めたい関数のテイラー展開を計算するのに必要なライブラリを入れます.

“`python:ライブラリの導入
from sympy import *
import numpy as np
“`
今回はsympyとnumpyを使ってテイラー展開を計算します.

###求めたい理想波

元記事を表示

Pandas 入門

“`matplotlib“` に引き続き、python のライブラリ“`Pandas“`について学んでいきたいと思います。

Pandas とは
=====================
pythonのライブラリで、データ分析用に表形式のデータや行列を扱う事が可能です。
集計処理、計算処理をPandasにて置き換えることが出来ます。

“`pip“` 等でインストールも可能ですが、“`Anaconda“`に含まれていますので今回はそちらを使用します。

結果をすぐに確認するため、今回も “`Jupyter Notebook“` を使用します。

Pandas用語
===============
いくつか専門の用語がありますので、先に理解をします。

– ***Series***
データ形式の一つで一次元の配列から単一の列から成す表

– ***DataFrame***
行列からなる表形式の配列データ。Pandas の中心となるデータ形式です。

– ***index***
SeriesやDataFrameの行データに付与できるラベルです。

– ***colum

元記事を表示

【自然言語処理】プリンを含む文がポケモンかどうか分類してみた

エイチームフィナジーアドベントカレンダー最終日は[s2terminal](https://twitter.com/s2terminal_tech)が担当します。私は普段、Web開発やデータサイエンス等を担当していますが、今年は **自然言語処理** 技術に多く触れていました。

本稿では自然言語処理を用いて、**「プリン」** に関する文書が私の大好きなポケモンのプリンを指しているのかどうかを分類します。自然言語処理技術の中でも古典的な手法である **BoW** と、比較的新しい **BERT** を用いて、すばやく正確に分類できること目指します。

## プリンとは
**プリン(Jigglypuff)** とは、ポケットモンスター(以下ポケモン)に登場するキャラクターです。図鑑番号39。分類は「ふうせんポケモン」であり、その名の通り球状の体型をしています。全身ピンク色で大きな瞳が特徴のかわいいポケモンです。進化前の姿はププリン、進化後はプクリンとなります。

https://zukan.pokemon.co.jp/detail/039

プリンは2021年「ポケモンユナイト」[^po

元記事を表示

クリスマスなのでBurpに少し祝って貰った

これはシーエー・アドバンス Advent Calendar 2021 25日目の記事です。

初めまして、シーエー・アドバンス(CAAD)技術統括本部セキュリティチームの @miya_zato です。
今日ってクリスマスっていう日らしいですね、「12/25、空いてますか?(暗黒微笑)」って連絡が最近来てました、憎しみの連鎖は僕が今日断ち切ります。

普段の業務ではBurp Suiteというローカルプロキシツールを利用して脆弱性診断を行っています。
今日はこの相棒に、クリスマスを少し祝って貰おうかと思います。

同じチームの @miya_ken さんの記事を参考に、拡張機能を簡単に作成してみます。

参考記事
https://qiita.com/miya_ken/items/f88a051e4c6cfd2a67de

# さっそく祝って貰おう!
今回はpythonでクリスマス用の拡張機能を用意しました。
また、環境の準備や拡張機能の導入は参考記事に記載されているので今回は省略します。

## 拡張機能を読み込んだ直後にMerryChristmas
拡張機能を読み込んだ時に最初に表示さ

元記事を表示

Kaggle 綺麗にコードを書き提出までの道のり

# 自己紹介

私はKaggleであまり結果を残せていない修士一年です([私のkaggleアカウント](https://www.kaggle.com/millak)).
実装もあまり得意な方ではなく,少しずつ理解に努めています.

本日は,

初学者がKaggleを継続的に参加するための励みになれば良いと思い記事を書きます.

結論から言うと,自作moduleを作成することだと考えました.

# 0. 私(atcoder茶色レベル)にとってのKaggle

私のCodingの経験はインターンや授業,趣味,競技プログラミングくらいの中でKaggleをやろうとする場合のハードルは少し高いように感じました.

理由としては,以下があります:

– **notebookでのcode管理が手間**. (あ)
– modelの管理を行うのが手間. (い)
– GPUの関係で**localで作業がしづらい.** (う)
– **使用するライブラリの動作を覚えるのが手間**. (え)

この観点から,どのコンペにも参加しやすくなるための**自作module**をコンペへの参加を通して**updat

元記事を表示

PyTorch Lightning の OSS 貢献ガイド

本投稿は、[Quick OSS Contribution Guide – How to start contributing to open source with PyTorch Lightning](https://devblog.pytorchlightning.ai/quick-contribution-guide-86d977171b3a) の翻訳です。一部、内容に変更があります。

# 0. はじめに

PyTorch Lightning は、世界中の研究所や企業の研究者、機械学習エンジニア、学生等により支えられているオープンソースの深層学習フレームワークです。PyTorch Lightning に貢献していただけた方に向けて、無料の Lightning SWAG を用意しています!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1818438/0fc8d8e5-3664-0503-0bb3-321548da84a3.png)
OSS への貢献に興味があるものの、どこから始め

元記事を表示

サンタが家にやってきた!?

#はじめに
この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2021 (一枚目) の 25日目の記事として投稿しています。

2017年版: https://qiita.com/advent-calendar/2017/cisco
2018年版: https://qiita.com/advent-calendar/2018/cisco
2019年版: https://qiita.com/advent-calendar/2019/cisco
2020年版: https://qiita.com/advent-calendar/2020/cisco
2020年版(2枚目): https://qiita.com/advent-calendar/2020/cisco2
2021年版: https://qiita.com/advent-calendar/2021/cisco ⇦今ここ
2021年版(2枚目): https://qiita.com/advent-calendar/2021/cisco2

メリークリスマス:xmas-tree:つ

元記事を表示

OTHERカテゴリの最新記事