概要
Pythonは、現在IT業界で広く使われているプログラミング言語の一つです。
今回は、実際にPythonを活用しているIT企業をいくつか紹介し、それぞれの企業でどのようなPythonコードが使われているのかを見ていきます。
詳細内容
1. GoogleGoogleは、検索エンジンの開発だけではなく、Google Cloud PlatformやTensorFlowといったAI・機械学習のプラットフォーム開発でもPythonを広く使用しています。
【例】TensorFlowによるDeep Learningモデル構築:
import tensorflow as tf
# モデルの構築
model = tf.keras.Sequential([
tf.keras.layers.Dense(128, activation='relu', input_dim=784),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(
optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy']
)
データの前処理:
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()# 0~255のPixelデータを、0~1に正規化
x_train = x_train / 255.0
x_test = x_test / 255.0# 入力データを平坦化
x_train = x_train.reshape(x_train.shape[0], 784)
x_test = x_test.reshape( x_test.shape[0], 784)
モデルの学習:
history = model.fit(
x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test)
)
2. DropboxDropboxは、オンラインストレージやファイル同期を提供するサービスで、Pythonをリアルタイム同期処理の開発やサーバーの自動化に使用しています。
【例】同期処理の実装
import dropbox
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class Watcher:
def __init__(self):
self.event_handler = FileSystemEventHandler()
self.dropbox = dropbox.Dropbox("ACCESS_TOKEN") def on_any_event(self, event):
if event.is_directory:
return None elif event.event_type == 'created':
with open(event.src_path, "rb") as f:
# ローカルファイルをDropboxにアップロード
self.dropbox.files_upload(f.read(), "/" + event.event.src_path) elif event.event_type == 'modified':
with open(event.src_path, "rb") as f:
# ローカルファイルをDropbox上のファイルに上書き
self.dropbox.files_upload(f.read(), "/" + event.event.src_path, mode=WriteMode("overwrite"))
ファイルの監視:
if __name__ == "__main__":
w = Watcher()
observer = Observer()
observer.schedule(w.event_handler, path='.', recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
3. YouTubeYouTubeは、世界最大の動画共有サイトで、Pythonを広く使用しています。
特にGoogleと同じくTensorFlowの使用が多いです。
【例】動画の自動キャプション生成
import os
import io
import argparse
import google.auth
from google.cloud import speech_v1
from google.cloud import storagedef transcribe_gcs(gcs_uri):
client = speech_v1.SpeechClient() audio = speech_v1.RecognitionAudio(uri=gcs_uri)
config = speech_v1.RecognitionConfig(
encoding=speech_v1.RecognitionConfig.AudioEncoding.FLAC,
sample_rate_hertz=16000,
language_code="ja-JP",
) response = client.recognize(config=config, audio=audio) for result in response.results:
print(u"Transcript: {}".format(result.alternatives[0].transcript))
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--uri", help="Cloud Storage URI that has the audio file to be transcribed.", type=str) args = parser.parse_args() transcribe_gcs(args.uri)
Google Cloud Storageに保存された音声ファイルのURLを指定し、自動的に日本語の音声をテキストに変換します。
コメント