Memo

メモ > 技術 > サービス: Google > Google Colaboratory

■Google Colaboratory
Colaboratory へようこそ - Colaboratory https://colab.research.google.com/?hl=ja 【Colab 入門】Google Colaboratory とは?使い方・メリットを徹底解説! | キカガクブログ https://blog.kikagaku.co.jp/google-colab-howto 機械学習といえばJupyter Notebook!! ColabとVS Codeを比較してみた!! - Qiita https://qiita.com/hirokisakabe/items/21992cd96e4540e0c332 ※Jupyter Notebookをベースにした開発環境 Amazon SageMaker Studio Labでも同じような環境が提供される 上記解説ページを参考に、「sample_data」と同じ階層に「click.csv」を配置 ダブルクリックすると、画面の右側にファイルの内容が表示された click.csv
x,y 235,591 216,539 148,413 35,310 85,308 204,519 49,325 25,332 173,498 191,498 134,392 99,334 117,385 112,387 162,425 272,659 159,400 159,427 59,319 198,522
コードとして以下を入力して実行
import numpy as np import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt # 学習データを読み込む train = np.loadtxt('click.csv', delimiter=',', dtype='int', skiprows=1) train_x = train[:,0] train_y = train[:,1] # プロット plt.plot(train_x, train_y, 'o') plt.savefig('graph.png') # クリア plt.clf() plt.close()
「click.csv」と同じ階層に「graph.png」が作成された ダブルクリックすると、画面の右側にファイルの内容が表示された(グラフにプロットされた画像が表示された) 続いて、一次関数の学習データをプロットするコードを入力して実行してみる(コードは「Python.txt」を参照) 数秒待つと、コードの下部に以下の実行ログが表示された
1回目: theta0 = 8.682, theta1 = 2.127, 差分 = 76337.7477 2回目: theta0 = 17.091, theta1 = 3.954, 差分 = 73314.7729 3回目: theta0 = 25.333, theta1 = 5.745, 差分 = 70411.5079 4回目: theta0 = 33.409, theta1 = 7.499, 差分 = 67623.2122 5回目: theta0 = 41.324, theta1 = 9.219, 差分 = 64945.3330 〜中略〜 390回目: theta0 = 428.988, theta1 = 93.443, 差分 = 0.0114 391回目: theta0 = 428.991, theta1 = 93.444, 差分 = 0.0109 392回目: theta0 = 428.994, theta1 = 93.445, 差分 = 0.0105 393回目: theta0 = 428.997, theta1 = 93.446, 差分 = 0.0101 394回目: theta0 = 429.000, theta1 = 93.446, 差分 = 0.0097
また、「click.csv」と同じ階層に「graph.png」が作成された ダブルクリックすると、画面の右側にファイルの内容が表示された(グラフにプロットされた画像が表示された) ■意図しないグラフが描画される場合 当初「値の予測はできているようだが、グラフの傾きがおかしい」というものが描画された 結論としては、グラフ出力を実行したあとに以下を追加すれば解消された
plt.clf() plt.close()
明確にメモリの開放を行わないと、描画データは残り続けるようなので注意 plt.close() だけではメモリが解放されない場合がある - Qiita https://qiita.com/Masahiro_T/items/bdd0482a8efd84cdd270

Advertisement