Python関連のことを調べてみた2020年01月28日

Python関連のことを調べてみた2020年01月28日

サーバー上で起動したJupyter notebookをリモートで開く

#sshでサーバーに繋ぎ
“`
nohup jupyter notebook >/dev/null 2>&1 & –no-browser –port=00000
“`

#手元のTerminalで
“`
ssh -N -f -L 12345:localhost:12345 -i ~/.ssh/id_rsa -p 00000 tapioca@000.000.00.000
“`

#Chrome
“`
localhost:12345
“`

元記事を表示

mojimoji のインストール

#`Mojimoji`のインストール方法だぬ

“`
CFLAGS=’-stdlib=libc++’ pip install mojimoji
“`

元記事を表示

Django3でテーブルのカラム(フィールド)名を変更する

# Django3でテーブルのカラム(フィールド)名を変更する方法

pollsアプリの、Questionモデルのpub_dataをpub_dateに変更する。

## 環境

– Python – 3.6.8
– Django – 3.0.2
– MySQL – 8.0.19
– CentOS7.7

## やり方

### 空のマイグレーションファイルを作成

[公式ドキュメント](https://docs.djangoproject.com/en/3.0/topics/migrations/#data-migrations)を参考に、コマンドラインで空のマイグレーションファイルを作成。

“`
$ python3 manage.py makemigration –empty [アプリ名]
“`
### マイグレーションファイルの編集

すると、アプリ直下のpollsフォルダにマイグレーションファイルが作成される。

“`Python:migrations/0002_auto_20200128_0044.py
# Generated by Django 3.0.2

元記事を表示

AtCoder Beginner Contest 120 過去問復習

#所要時間
スクリーンショット 2020-01-27 22.00.48.png

#感想
Dがunion-findでした、あまり理解してないで使おうとして爆死したので理解に努めます。
ABCで困らないくらいの知識をつけたい。

#[A問題](https://atcoder.jp/contests/abc120/tasks/abc120_a)

cを超えない回数でb円で何回聞けるかを考える。

“`python:answerA.py
a,b,c=map(int,input().split())
print(min(c,b//a))
“`

#[B問題](https://atcoder.jp/contests/abc120/tasks/abc120_b)

a,bの小さい方から順に降順に全探索していく。

`

元記事を表示

言語処理100本ノック-99(pandas使用):t-SNEによる可視化

[言語処理100本ノック 2015](http://www.cl.ecei.tohoku.ac.jp/nlp100/)の99本目「t-SNEによる可視化」の記録です。
t-SNE(t-distributed Stochastic Neighbor Embedding)で2次元に削減をして単語ベクトルを下図のように可視化します。2次元や3次元なら人間が見てわかりますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/134273/3a4b303f-5865-7915-9e59-94e6f1ef0fae.png)

# 参考リンク

|リンク|備考|
|:–|:–|
|[099.t-SNEによる可視化.ipynb](https://github.com/YoheiFukuhara/nlp100/blob/master/10.%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E7%A9%BA%E9%96%93%E6%B3%95%20(II)/099.t-SNE%E3

元記事を表示

4【/】Four Arithmetic by Machine Learning

![english_la/b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207542/94d911a2-e5e4-4d49-7aad-5de8e4744d8d.png)

深層学習の形式でわり算のパーセプトロンを考えてみました。
I considered a division perceptron in the form of deep learning.

“`python
# coding=utf-8
import numpy as np
import matplotlib.pyplot as plt

#Initial value
#number of learning
N = 1000
#layer
layer = [2, 2, 1]
#bias
#bias = [0.0, 0.0]
#learning rate
η = [0.001, 0.001]
#η = [0.000001, 0.000001]
#number of middle layers
H = len(η) – 1
#tea

元記事を表示

最近傍データを検索(MongoDB)

こんにちは。
MongoDB + Python (pymongo) 利用で、与点(経緯度 “`[135.0, 35.0]“`)から最近傍データを検索する関数例です(2dsphere インデックスを仮定)。“`$maxDistance“` も与えており、何も検索されなかった場合には、定義しておいた “`NO_DATA“` を返すようにしました。

“`python
NO_DATA = {}
def 2dsphere_near():
cursor = mycollection.find({“loc”: {$nearSphere: {$geometry: {type: “Point”, coordinates: [135.0, 35.0]}, $maxDistance: 1000}}})
for data in cursor.limit(1):
return data
return NO_DATA
“`

元記事を表示

C#からPythonスクリプトを同期的に実行する

#はじめに

これまでC#とPythonの連携について似たようなネタをいくつか書いてきた。

「[C# GUIアプリケーションからPythonスクリプトを実行する](https://qiita.com/kimisyo/items/0879fc9f1315e2abfd1f)」では、Pythonスクリプトを実行し、処理が終了するまで進捗状況を確認できるようにした。

「[C# GUIからPythonのコードを実行する](https://qiita.com/kimisyo/items/9a554c6021b9e88b81de)」では、Pythonスクリプトではなく、画面上からPythonコードを入力できるようにしてみた。

そして「[C# GUIからバックグラウンドでプロセスを実行し管理する](https://qiita.com/kimisyo/items/02cc7033447a23cad881)」では、Pythonを実行した後、終了まで待たずに別の作業をしつつ、気になったときに実行状況を確認できる方法について調べた。

そこで、今回がこのシリーズ最後のネタになる。

**そもそもGUIな

元記事を表示

機械学習で四則演算 6【商】

![商.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/207542/f4815a2a-9876-9be5-8447-4b037ccbcf7f.png)

“`python
# coding=utf-8
import numpy as np
import matplotlib.pyplot as plt

#初期値
#学習回数
N = 1000
#層
layer = [2, 2, 1]
#バイアス
#bias = [0.0, 0.0]
#学習率
η = [0.001, 0.001]
#η = [0.000001, 0.000001]
#中間層数
H = len(η) – 1
#教師値
t = [None for _ in range(N)]
#関数出力値
f_out = [[None for _ in range(H + 1)] for _ in range(N)]
#関数入力値
f_in = [[None for _ in range(H + 1)] for _ in range(N)]
#重み
w

元記事を表示

学習記録 その28(32日目)

#学習記録(32日目)
勉強開始:12/7(土)〜

教材等:
・大重美幸『詳細! Python3 入門ノート』(ソーテック社、2017年):12/7(土)〜12/19(木)読了
・Progate Python講座(全5コース):12/19(木)〜12/21(土)終了
・Andreas C. Müller、Sarah Guido『(邦題)Pythonではじめる機械学習』(オライリージャパン、2017年):12/21(土)〜12月23日(土)読了
・[Kaggle : Real or Not? NLP with Disaster Tweets](https://www.kaggle.com/c/nlp-getting-started) :12月28日(土)投稿〜1月3日(金)まで調整
・Wes Mckinney『(邦題)Pythonによるデータ分析入門』(オライリージャパン、2018年):1/4(水)〜1/13(月)読了
・斎藤康毅『ゼロから作るDeep Learning』(オライリージャパン、2016年):1/15(水)〜1/20(月)
・**François Chollet『Pyt

元記事を表示

EfficientNetを最速で試す方法

# TL;DR
– Tensorflow Hubにて[imagenetによる事前学習済み重み]((https://tfhub.dev/google/collections/efficientnet/1))が公開されている
– EfficientNetB0 – B7まですべて公開
– 転移学習用のfeature vectorsが公開されているのでそれを使う
– [公式のTensorFlow Hubを使った転移学習のチュートリアル](https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub)と共に、EfficientNetを最速で試す方法の紹介
– GoogleColabratoryを使ってデモを動かす
– 環境さえ用意できればデモと同じコードで動作確認できるはず
– やることは[tensorflow-hub](https://pypi.org/project/tensorflow-hub/)ライブラリでDLするモデルを表すURLを変えるだけ

# はじめに

「EfficientNet」につい

元記事を表示

Atcoder Beginner Contest 153

## F
個数なしナップサック問題。
再帰で組んだが、計算量を考慮しておらずTLE。
配列を用いたdpの作り方がわからずタイムアップとなった。

dpの詳しいことは現在勉強中。乞うご期待。

“`

Hitpoint, N = map(int, input().split())
magic_damage = []
magic_point = []
for _ in range(N):
A, B = map(int, input().split())
magic_damage.append(A)
magic_point.append(B)

# dp = [[float(“inf”) for _ in range(Hitpoint + 1)] for _ in range(N + 1)]
dp = [float(‘inf’) for _ in range(Hitpoint + 1)]
dp[0] = 0
for i in range(N):
for now_HP in range(Hitpoint + 1):
next_HP = min(

元記事を表示

【自分用メモ】Web上のデータを取得し、DataFrameにする

“`python
# Webからデータを取得するために、requestsをインポートします。
import requests

# CSVデータのために、StringIOをつかいます。
from io import StringIO

# データのURLです。
url = “http://elections.huffingtonpost.com/pollster/2012-general-election-romney-vs-obama.csv”

# requestsをつかってデータをtextとして取得します。
source = requests.get(url).text

# StringIOを使ってpandasのエラーを防ぎます。
poll_data = StringIO(source)

poll_df = pd.read_csv(poll_data)

“`

元記事を表示

AtCoder Beginner Contest 043 過去問復習

#所要時間

スクリーンショット 2020-01-27 18.26.37.png

#[A問題](https://atcoder.jp/contests/abc043/tasks/abc043_a)

合計を求めれば良い。

“`python:answerA.py
n=int(input())
print(n*(n+1)//2)
“`

#[B問題](https://atcoder.jp/contests/abc043/tasks/abc043_b)

0,1を加えBで除くだけ。

“`python:answerB.py
ans=””
s=input()
for i in s:
if i==”0″:
ans+=”0″
elif i==”1″:
ans+=”

元記事を表示

Computer Vision : Deep Dream

#目標
Microsoft Cognitive Toolkit (CNTK) を用いて Deep Dream をやってみました。

CNTK と NVIDIA GPU CUDA がインストールされていることを前提としています。

#導入

##Deep Dream とは
事前学習済みの CNN の中間層では目や羽といった特徴が獲得されています。

Deep Dream はある層のあるニューロンの特徴を入力画像に反映させる処理を繰り返すことで実装できます。

##GoogLeNet
今回は事前学習済みの GoogLeNet [[1]](#参考) を用いました。GoogLeNet は Google の研究グループが開発した畳み込みニューラルネットワークで、ILSVRC2014 で優勝した有名なモデルです。その特徴として、Inception module と呼ばれるアーキテクチャを採用しているところです。

![inception.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/176315/50593

元記事を表示

複数のCSVを各エクセルシートに変換

#概要
膨大な量のCSVファイルを閲覧するのには難があります。
Pythonで一つのエクセルファイルにまとめました。
CSVを同じシートに結合はよくみかけますが、1csv=1シートの変換は例が見つからず、
備忘録をかねて記事にしました。

#環境
ubuntu(wsl)
python3.6.8

#コード

“`python:csvtxlsx.py
import os
import glob
from pathlib import Path

import openpyxl
import csv

csvfiles = glob.glob(“(読み込み元ファイルパス)/*.csv”, recursive=False)
wb = openpyxl.Workbook()
for file in csvfiles:
wb.create_sheet(os.path.splitext(os.path.basename(file))[0])
wb.active = wb.sheetnames.index(os.path.splitext(os.path.basename(fil

元記事を表示

海賊版漫画サイトの広告をスクレイピングで消してみた

## 経緯
manga1001.comという海賊版漫画サイトで漫画を読んでいる友人が
「過激な広告が多くて外で見えないし、Adblock使うと警告出るんだよね」
と言ってたので、じゃあ消してみよう!と思った。

## 注意
* 海賊版漫画サイトの使用を助長する目的の記事ではありません。
* Qiitaを利用するようなインターネットリテラシーの高い人たちは海賊版漫画サイトを利用しないと信じてます。
* 僕自身、技術的な興味で行ったもので、今後海賊版漫画サイトを使用するつもりはありません。
* 記事執筆時(2020/01)の現行法では、海賊版漫画サイトを閲覧すること自体に違法性はないです。

また、当記事と同じようなことをする場合、

* 複数ページへのスクレイピングでサーバへの負荷をかけないこと
* 画像をダウンロードして保存した場合、第三者に渡さないこと(当記事のスクレイピングでは画像のダウンロードは行っていません)

にお気をつけください。罪に問われる可能性があります。

## 方法
1. manga1001.com内の任意のURLを入力
1. Chromeを開く
2. `img`の

元記事を表示

あまり強い言葉を使うなよ…弱く見えるぞ 〜AIによって”やさしく”言い換えできてるかチェックしよう〜

タイトルはAIとか書きましたが、まぁ、察してください。お願いします…

エンジニアたるものなにかのオタクであると思いますが、オタクの皆さんは一般人相手につい専門用語で喋って引かれたみたいな経験ありませんか?僕はあります。

そこで、今回は、自分の表現が
“伝わる”表現か?
よりわかりやすい表現とは?
というのを機械学習の力を借りて判定してみよう。という試みでございます。

# TL;DR

BERT+CNNヘッドによる意味同値性解析と、教科書コーパスによる単語の難易度判定を組み合わせて、ある文章をやさしく、かつ意味が通るように言い換えられているかを判定するシステムを提案、実装しました。

github https://github.com/MosasoM/Aizen
に多分簡単に試せるソースを置いておいたので試してもらえると面白いと思います。

| 基準文章 | 言い換え文章 | score &nbs

元記事を表示

書籍「15Stepで踏破 自然言語処理アプリケーション開発入門」をやってみる – 3章Step08メモ

# 内容
[15stepで踏破 自然言語処理アプリケーション入門](https://www.amazon.co.jp/dp/4865941320) を読み進めていくにあたっての自分用のメモです。
今回は3章Step08で、自分なりのポイントをメモります。

# 準備
– 個人用MacPC:MacOS Mojave バージョン10.14.6
– docker version:Client, Server共にバージョン19.03.2

# 章の概要
3章は深層学習の基礎と自然言語処理への適用に関する基礎解説である。
Step08ではニューラルネットワーク入門として、多層パーセプトロンの概要と深層学習ライブラリKerasによってシンプルに実装する。

# 08.1 単純パーセプトロン
生物の脳細胞を構成するニューロンを数学的なモデルに押し込んだのが**パーセプトロン**で、ニューロン1個を模倣したのが**単純パーセプトロン**と呼ばれるモデルである。

– n個の入力:x1, x2, …, xn
– n個の重み:w1, w2, …, wn
– 固定値のバイアス:b
– 出力:z

元記事を表示

python テンプレファイルの変数を置換して別ファイルで量産したい

terraformで大量にリソースを追加する必要があったので、コピペが辛かったのでそのメモです。

まずテンプレートとなるファイルを用意する。
変数にしたい所を `@NAME@` `@PATH@` `@HOST@` とかにする。

“`json:template.tf
resource “google_monitoring_uptime_check_config” “@NAME@” {
display_name = “@NAME@”
timeout = “10s”

http_check {
use_ssl = true
path = “@PATH@”
port = “443”
}

monitored_resource {
type = “uptime_url”

labels = {
project_id = var.project_id
host = “@HOST@”
}
}
}
“`

変数に渡したい値をcsvで作成します。

“`text:

元記事を表示

OTHERカテゴリの最新記事