Pytorchに入りました

火曜日は風邪をひいてしまってバイトに行けなかったのですが、今日は来れました。

今日からpytorchを勉強するということで二時間くらい勉強してみたのですが。。。

まーじでむずい(笑)

tensor?数学的に難しくなってきそう。。だけど家では数学も並行して勉強しているのでまあなんとか食らいついていきます。頑張る

今日は本当にpytorchを勉強していただけなので書くことがないのですが、これから僕がやることは先輩が作った人工知能のコンピューターと戦えるオセロをdjangoで実装することです。

そのために最低限Pytorchを理解していないときついということで勉強しています。

なんで高校のときもっと数学を勉強しなかったんだ!!(今更何言ってもしょうがない)

まあ一年くらい経てば数学だって理解できるようになるでしょう!

高校で唯一身につけたことといえば鬼きつい部活出身なので継続力がカンストしてます。

それくらいしか取り柄がないですが、まあがんばります。

pillowでオセロ盤面の作成が完成した!

時間かかりましたがpillowを使ってオセロの元盤面に黒石白石を貼り付けるコードが書けました!覚書きとして.resize(タプル)で画像のサイズが変更できることと.pasteの時は(画像,タプル)でペースト。

これが終わったので次の目標はlineで送ってきた人のユーザー情報を取得してbotからメッセージを送る時に〇〇さんみたいに送れるようにすることです。情報を取得するところまではできたので後はjsonのデータを取ればいいだけなのでいけると思います!

pythonの勉強も自分でしているのでちょっとわかるようになってきた。最初の何もわからない地獄の状態よりだいぶマシです。がんばります!

PILで盤面の座標をとってそれをPILでpasteしてLINEで相手に送る

エラーで二時間くらい詰まってしまいました。。

今回学んだことはちゃんと動いてないのにエラーが出ている時はtry exceptでエラーを出してあげるとどこでエラーが出ているか分かることです。

今回は引数をタプルで渡さないといけないのにそれができていなかったエラーでした。

まあ今回すごく詰まったことで同じことではつまらないということで、(そうに考えないとやっていけない)よしとします。

もっと自分でエラーが出てもすぐ治せるように自分でもいろいろチャレンジしていきたいと思いました。

 

python pillowを使ってオセロの盤面を作る

今日はpythonのpillowを使ってユーザーから送られてきた盤面の座標に盤面だけの画像にオセロ(白or黒)を貼り付けるということをやりました。今までやってきたことの中で一番簡単だったなあ、自分のレベルにあっていたと感じました。コードを書くのが久しぶりに楽しいと感じました笑

でも難しいコードを書いていたことによってそれで成長できて簡単に感じたってことも考えれば辛くても難しいことを頑張るといいことあるなと思いました。まあ難しくても教えてもらってるからできるんですけどね。。。笑

ちょっとモチベーションが上がったので家に帰って完成させたいなあと思います!!

例外処理を学んだ!!

正直今日自分は何をやっていたのかほとんどわからなかったです。難しすぎて。。。

そういう時でも何かを得ないと意味がないということで、例外処理を覚書きとして残しておきます。。。try と except 使い方は多分覚えた...

今までずっとPHPを勉強していたので少し言語が変わったくらいで大して変わんないだろとか思っていたけど飛んだ勘違い,すごく遅いのですが体系的に学べるpythonの本を一冊買いました。

勉強とかしてても余計なことばっかり考えてしまって手につかない時がよくあるんですけど本をたくさん読んでいたときはその本の内容から、その本にあったことを試してみたりしてたんですけど、最近読まなくなっていたのでまた読み始めてみようと思います!

 
def confirm_json_loads(body):
try:
return json.loads(body)
except Exception as e:
message = JsonResponse({'message': 'Login failure.'}, status=403)

return message

オセロ作れた♫

LINEと連携したオセロが作れました−!大変だったけどすごく力がついたと思う。

めちゃくちゃ自分で調べたし特にエラーが出ているときにどこからのエラーなのかちゃんと特定するためにその周辺のコードを1行1行print()でみることの大事さ、、これできるようになっただけでも相当進歩!

この後は先輩が作ったAIのコンピューターと戦えるコードを自分がもう一回LINEと連携させてユーザーの人が戦えるようにしていきます。今日は初めて達成感を少しだけ得た。だけどもっともっとできるようになりたいのでまずは疎かになってしまっているpythonの基本文法、自分も機械学習できるようになりたいので数学の勉強、これからも頑張ります。

なぜLINEと連携ができなかったか、、、

コンソール内で出力するだけならprintだけでいんですが

lineでメッセージを送るのは文字列としてその関数ごとにreturnしなくちゃいけなかったのでそうなるとどうしようもできなくて詰まってしまったので、答えを教えてもらったところ答えは、単純に関数をもっと分割して一つの関数に一つのメッセージを返すようにすればいけるということで、今日もやっていたんですがそれでも難しくて、家に帰ってから次回までにやりたいと思います。。。。頑張る。