TOEIC900点がTOEFLを受けたら

TOEFLを受けたのでメモ。

結論を言うと、TOEIC900点(R:445, L455)が三か月半準備をしてTOEFLを受けたら85点(R:25, L:22, S16, W:22)になった。

もっと点が出ると思ってたので、正直悔しい。

 

以下では行った対策、テストの感想、及び今後の対策を述べる。

 

リーディング

やったこと

1)公式問題集を解く。

ある程度解けて、時間も無かったので、復習等はしなかった。

 

2)洋書を読む。

TOEICの時と同様に、通勤時間中に洋書を読んでいた。

ちなみに読んだ洋書は『Artemis』と『Stoner』。どちらもおすすめ。 

 

テストの感想

本番では最後まで解けて自信もあったのに25点であった。少しショック。

公式問題集から25−27点ぐらいと思っていたから予想通りといえばその通りだが。

 

今後の対策

通勤時間中しか時間がないので、今後も洋書を読み進めていく。

  

リスニング

やったこと

1)公式問題集を解く。

解いただけ。シャドーイングとかして復習しようと思ったが、つまらな過ぎて続かなかった。

 

2)TED

YOUTUBEでずっとTEDを聞いてた。ディクテーションやシャドーイングはしていない。ただし、細かいところが聞こえるまで何回も巻き戻して聞いた。

だいたい3日か1週間で次の動画に移っていた。

 

テストの感想

一番時間をかけたのに点数が低くてショックであった。

本当に聞き取れなくて悲しかった。

 

今後の対策 

調べたところリスニングの点数はだいぶブレるらしい。

そのため正直自分の実力がよくわからない。

 

スピーキングの対策も本格的に始めるし、シャドーイングを初めてみる。

ただし、公式問題集や過去問はつまらないのでTEDで。

 

スピーキング

やったこと

実践ロイヤル英文法の暗記用例文300を暗記した。

気をつけた事としては、ただ覚えるだけじゃなく、ちゃんと文法の説明ができるようにした。

 

テストの感想

テストの対策に回す時間がなかったので、ボロボロであった。

 

今後の対策

正直どうしていいかわからない。とりあえず、ここここ書いてある事を参考に、量で攻めてみる。

 

具体的には、一問解く、時間をかけて綺麗な回答を作る、を繰り返して45秒で100単語程度喋られるようにする。

 

後述するライティングのように、Independentがある程度できるようになれば、Integrateの準備はそこまで悩まなくてもいいはず。

 

ライティング

やったこと

a) Integrate

テスト二週間前から公式問題集を解く。時間をかけて綺麗な回答を作る。を繰り返した。

 

b) Independent

会社のお昼休みに、ここから選んで一問解いていた。

気をつけた事としては、テンプレートの使用を最小限にして、なるべく自分の言葉で書くようにした。

また、家に帰って、時間をかけて綺麗な回答を作るようにした。

これを一か月ぐらい続けたら、単語数が300を超えるようになった。

 

テストの感想

a) Integrate

今回のテストで唯一いい結果だった。Good(恐らく4)を取れた。

 

b) Independent

本番ではだいたい340語ぐらいかいた。また、間違って覚えていた単語を使ってしまっていた。結果はFair(恐らく3)であった。

 

今後やること

a) Integrate

そこそこの点数が取れたので、勉強法自体は間違っていないはず。なので保留。

 

b) Independent

今のところ、すぐに改善できそうなのが文字数の少なさしか思いつかない。

なのでとりあえず、Independentで400語を超えるように、さらに練習する。

 

その他

a) 単語について

TOEFL3800を覚えた。ただし、英→日だけじゃなくて、日→英の練習もした。

 

b) 勉強時間

リーディング

約2時間×約3ヶ月半=約140時間(ただし平日だけ)

 

リスニング

約1時間半×約3ヶ月半=約150時間

 

スピーキング&ライティング

約2時間×約3ヶ月半=約200時間

 

単語

約1時間×約3ヶ月半=約100時間

 

ただし週一回は何もしない日を設けていたので、これよりは少ないはず。

 

AutoCAD LTでLISTを出力する方法

AutoCAD LTでLISTの内容をテキストファイルに書き出す方法のメモ。

ここに書いてあったけど、散々探して時間食ったし、ブログのネタになってもらう。

 

コマンドライン上で以下を実行する。

 

1)QAFLAGS を2に設定する。 

これにより[ENTER]を押さなくてもLISTの内容が表示される。

 

2)LOGFILEON

ここからの情報が出力される。

 

3)いつも通りLISTを実行

 

4)LOGFILEOFF

ここまでの情報が出力される。

 

5)LOGFILENAMEでログの出力場所を確認。

 

6)拡張子の.logを.txtに変える。

 

このデータをpythonで整形したら、Excelに座標やら何やらの一覧表を作れるはず。

 

pythonとOpenCVで歪み補正

書類をスキャンしたときは、画像が傾いているのみならず、歪んでいる場合がある。

この歪みをpythonで直すためのプログラム。ただし、大きな枠があり、歪みが小さい場合に限る。 

 

大まかな流れ :

イ)四角い枠の角の座標を取得する。(一番外側の線は紙そのものの輪郭)

ロ)台形補正で歪みを直す。

f:id:haitenaipants:20180817005843p:plain          f:id:haitenaipants:20180817005837p:plain          f:id:haitenaipants:20180817005855p:plain

 

以下のサイトを参考にした。(と言うかほとんどそのままです。本当ごめんなさい。)

opencv で マーカー付き用紙の向きを直してみる - 機械学習備忘録

opencv で カードの向きを直してみる - 機械学習備忘録

 

1)角の座標の取得

(1−1)輪郭検出

適当な画像を用意し(ここでは、test.png)、以下のコードを実行する。

import cv2
import numpy as np

img = cv2.imread("test.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret,thresh = cv2.threshold(gray,127,255,cv2.THRESH_BINARY)

ret, contours, hierarchy = cv2.findContours(thresh , cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE )

 

ここでは、画像を読み込んだ後、白黒に二値化し、輪郭(contours)やら何やらを検出している。

 

(1−2)面積の大きい順に輪郭を並べ替える

上に続いて以下のコードを実行する。

menseki=[ ]

for i in range(0, len(contours)):
    menseki.append([contours[i],cv2.contourArea(contours[i])])

menseki.sort(key=lambda x: x[1], reverse=True)

 

ここでは、

menseki=[[輪郭1, 輪郭1の面積], [輪郭2, 輪郭2の面積], …]

を作り、これを面積の大きい順に並べ替えている。

 

(1−3)角の座標の取得

上に続いて以下のコードを実行する。 

epsilon = 0.1*cv2.arcLength(menseki[1][0],True)
approx = cv2.approxPolyDP(menseki[1][0],epsilon,True)

cv2.drawContours(img, approx, -1,(0, 0, 255),10)
cv2.imwrite("result.png",img)

 

epsilon, approxの説明はここの「輪郭の近似」を参照のこと。二値化した時に枠線がギザギザしてしまい、それを点として認識するのを避けている。

ここではapproxに角の4点が格納されている。

 

また、一番目に大きな輪郭(menseki[0][0])は紙そのものの輪郭なので、二番目に大きな輪郭(menseki[1][0])の点を取得している。

 

生成された画像(result.png)で角を取得できていることを確認。

 

以下参照

【OpenCV; Python】findcontours関数のまとめ 

https://imagingsolution.net/program/opencv/cvfindcontours-labelling/

 

(1−4)角の点の並び替え

approxには角の点が格納されているものの、その順番はバラバラである

そこで以下のコードで左下、左上、右下、右上に対応させる。

approx=approx.tolist()

left = sorted(approx,key=lambda x:x[0]) [:2]
right = sorted(approx,key=lambda x:x[0]) [2:]

 

left_down= sorted(left,key=lambda x:x[0][1]) [0]
left_up= sorted(left,key=lambda x:x[0][1]) [1]

 

right_down= sorted(right,key=lambda x:x[0][1]) [0]
right_up= sorted(right,key=lambda x:x[0][1]) [1]

 

コードの概略としては以下の通りである。

イ)numpy配列をただのlistに変換する。

ロ)x座標の小さい順に並び替えることにより角の4点を左右に分ける。

ハ)それらをy座標の小さい順に並び替えることにより、上下に分ける。

 

全ての四角形に対応するわけでは無いが、スキャンならこれで十分のはず。

 

2)台形補正

perspective1 = np.float32([left_down,right_down,right_up,left_up])
perspective2 = np.float32([[0, 0],[1654, 0],[1654, 2340],[0, 2340]])

 

psp_matrix = cv2.getPerspectiveTransform(perspective1,perspective2)
img_psp = cv2.warpPerspective(img, psp_matrix,(1654,2340))

 

cv2.imwrite("image_modified.png",img_psp)

 

ここで、perspective1は補正前の角の座標を、perspective2は補正後の角の座標をそれぞれ示す。ただし、perspective2としてA4の解像度(2340×1640)を用いている。

 

また、psp_matrixは台形補正に必要な変換行列を示す。

 

生成された画像(image_modified.png)で、歪み補正されていることを確認できる。 

 

以下参照 (と言うかそのまま使ってごめんなさい)

Python OpenCV3で透視変換 | from umentu import stupid

 

全コードは以下の通り。

###modify image file because of distortion by scanning###

### obtatin edge###

import cv2
import numpy as np

img = cv2.imread("test.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret,thresh = cv2.threshold(gray,100,255,cv2.THRESH_BINARY)

ret, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE )

 

menseki=[ ]
for i in range(0, len(contours)):
    menseki.append([contours[i],cv2.contourArea(contours[i])])

menseki.sort(key=lambda x: x[1], reverse=True)

 

epsilon = 0.1*cv2.arcLength(menseki[1][0],True)
approx = cv2.approxPolyDP(menseki[1][0],epsilon,True)

cv2.drawContours(img, approx, -1,(0, 0, 255),10)
cv2.imwrite("result.png",img)

 

approx=approx.tolist()

left = sorted(approx,key=lambda x:x[0]) [:2]
left_down= sorted(left,key=lambda x:x[0][1]) [0]
left_up= sorted(left,key=lambda x:x[0][1]) [1]

right = sorted(approx,key=lambda x:x[0]) [2:]
right_down= sorted(right,key=lambda x:x[0][1]) [0]
right_up= sorted(right,key=lambda x:x[0][1]) [1]

 

### modify distortion ###
perspective1 = np.float32([left_down,right_down,right_up,left_up])
perspective2 = np.float32([[0, 0],[1654, 0],[1654, 2340],[0, 2340]])
psp_matrix = cv2.getPerspectiveTransform(perspective1,perspective2)
img_psp = cv2.warpPerspective(img, psp_matrix,(1654,2340))
cv2.imwrite("image_modified.png",img_psp)

 

関連  

haitenaipants.hatenablog.com

  

haitenaipants.hatenablog.com

 

 

pythonでTOEFL3800を分割

pythonでTOEFL3800のCDを単語ごとに分割する方法。 

 数千個のmp3ファイルが生成されるので注意。

 

環境は以下の通り

mac OS X 64 bit

python 2 (Anacondaによってインストールした)

ffmpeg 4.0.1

pydub 0.22.1

 

1) ffmpegとpydubのインストール

ここからffmpegをダウンロードする。

また、ここからpydubをダウンロードする。

 

インストールは、手こずり過ぎてうろ覚えであり、割愛する。すいません。

ただし、pydubは普通にpython setup.py installをしたような気がする。

またffmpegは上記のサイトからffmpeg, ffprove, ffserverをダウンロード、解凍して、〜/anaconda/pkgs/の中に放り込んだような記憶があるようなないような。

 

2)データの準備

TOEFLテスト英単語3800を購入する

本に載っているパスワードを使って、ここから背景音のない音源を入手。

 

CD1のデータ(tango_d1.zip)をダウンロードし、これを解凍すると、tango_d1なるフォルダーが現れるはず。

 

デスクトップにtestなるフォルダーを作り、この中にtango_d1を置く。

またtest内部にsplitなるフォルダーを作る。

具体的には以下に示す通りである。 

Desktop/
  └test/
   ├ tango_d1/ 
        │     ├ CD1-01.mp3
        │     ├︙
        │     └ CD1-43.mp3
        │
        └split 

 

3)分割するコード

音源は以下のような構成になっている。

英単語1→(無音)→日本語1→(無音)→英単語2→(無音)→日本語2→…

例)

apple→(無音)→りんご→(無音)→bug→(無音)→虫→…

 

以下のコードを用いて音源を無音部において分割する。  

from pydub import AudioSegment
from pydub.silence import split_on_silence
import glob

titles = glob.glob("tango_d1/*.mp3")

for title in titles:
   sound = AudioSegment.from_file(title, format="mp3")
   chunks = split_on_silence(sound, min_silence_len=500, silence_thresh=-40, keep_silence=600)
   for i, chunk in enumerate(chunks):
      chunk.export(title.replace("tango_d1/","split/").replace(".mp3","_"+ str(i).zfill(3) +".mp3") , format="mp3")

 

ここで、以下のコードにおいて無音部において分割をしている。

sound = AudioSegment.from_file(title, format="mp3")

chunks = split_on_silence(sound, min_silence_len=500, silence_thresh=-40, keep_silence=600)

 

以下のコードは、分割によって生成されたmp3に対して、名前の書き換えとフォルダーの移動を行っている。

chunk.export(title.replace("tango_d1/","split/").replace(".mp3","_"+ str(i).zfill(3) +".mp3") , format="mp3")

 

具体的には以下のようである。

tango_d1/CD1-01.mp3 →(分割)→ split/CD1-01_000.mp3, split/CD1-01_001.mp3, … 

 

testフォルダー内は以下のようになる。

Desktop/
 └test/
   ├ tango_d1/ 
          │     ├ CD1-01.mp3
          │     ├︙
          │     └ CD1-44.mp3
          │
          └split/
                   ├ CD1-01_000.mp3
                   ├︙
                   ├ CD1-01_001.mp3    
                   ├︙
                   ├ CD1-44_000.mp3
                   ├︙
                   └ CD1-44_055.mp3 

 

以下のサイトを参考にした。

【Python/pydub】mp3、wavファイルの分割(無音部分で区切る) | アルゴリズム雑記

WAVファイル, MP3ファイルを無音部分で分割 - Volo di notte

 

関連

haitenaipants.hatenablog.com

 

 

Should you give up your ex-girlfriend?

    When you are dumped by your ex-girlfriends, you will struggle to recover the relationship and never give up your ex-girlfriend.

As time goes on, however, you will be gradually calm down and begin to think whether you should go next or not.

In other words, the relationship with her may completely end if you stop to love her but continuing to love her prolongs your grief.

This essay will discuss the issue of giving up your ex-girlfriend when this conflict occurs in your mind.

 

    When your girlfriend dumps you due to a bad habits such as gambling, you should not give up her.

It would be better for you to fix your bad habits and apologize to her.

However, you are often dumped suddenly although you don't have so bad habits and the relationship has seemed to be good.

This is the very separation that prolongs your pain and you may want to know the reason keenly.

 

    By the way, such separations are often seen in novels, cartoons, movies and so on. For example, "On Chesil Beach" which is a British novel by Ian McEwan and "nigeru ha haji daga yaku ni tatu (Running away is a shame but useful)" which is a Japanese comic by Umino Tsunami.

These stories have something common: Although the heroines love their lover deeply, the relationships get worse or end by their difficulties such as complex hatred toward sex and eccentric thinking about marriage.

And it is suggested that all the man can do is to wait patiently until the heroines overcome the difficulties by herself.

 

    These stories can be applied to your situation, that is, your girlfriend might decide to leave from you because of her own problems, such as complex character as mentioned above, getting bored with you temporary, lacking appropriate confidence needed for the relationship.

Just like you, she is not perfect.

 

    Here, it should be noted that these problems are likely to occuer when she really feels comfortable with you, because people are eaget to hide their problems and faults from unfamilier person.

And there is a possibility that you are not dumped by reason that your girlfriend dislikes you.

Therefore, if you don't give up her, the chance that the relationship recover is not so little.

The problem is whether you can accept her weakness and expect that she overcomes it.

If you can, you should not give up your ex-girlfriend and wait her patiently until she overcomes her difficulty by herself.

 

    The pain caused by loving ex-girlfriend is very terrible, and you almost give up the relationship.

However, it might difficult to know the art of loving without such pain, though it sounds outdated.

  

note1)

However, you may be allowed to be friends with other women when you are in grief.

 

note2)

I practiced this essay and I got back together with my ex after 3 month.

Specifically, 

dumped→(one month silent)→mailed her→(one month silent)→mailed her→(one month silent)→mailed her and begged her to come back on the phone.

I left my pride somewhere.

 

 

 

 

 

TOEICで900点をとる方法

初受験のTOEICで900点(R:445, L:455)とったのでメモ。

かなり主観的なので、参考にされる方はご注意下さい。 

 

用いた教材は以下の通り。

TOEICテスト公式問題集 新形式問題対応編

公式 TOEIC Listening & Reading 問題集 1

あと洋書 

 

目次 

 

0)前提

そもそもTOEFL ibtで70点ぐらい取れる英語力はあった。

ただし、TOEFLでこの点数をとってから2年ぐらい英語の勉強はしていなかった

以上のことを勘案すると、英語の勉強を再開した時ではTOEIC700〜800ぐらいの英語力であったと考えられる。

実際、公式問題集を初めて解いた時も、そのぐらいの点数だった。

 

参考サイト

http://www.etestprep.com/blog/?p=5490

上のサイトでは 、(toeflの準備をあまりしないで)TOEIC800後半→TOEFL70としているが、個人的にはTOEFL70→TOEIC800後半は成り立たないと思う。

よくてTOEIC800半ばぐらいが妥当。自分が思っている以上にTOEICは難しかった。

 

1)リーディング対策

(1-1) 公式問題集の音読

<方法>

解き終わった公式問題集のPart5〜7を音読した。毎日一時間程度。

具体的な方法は以下を参照のこと。 

haitenaipants.hatenablog.com

 

<効果>

英語の勉強といえば音読だろうと言うことで採用したが、正直そこまで効果がなかったような気がする。以下では、その理由を考察する。

 

そもそもTOEICで使われる単語も文法もそこまで難しくはない。

それなのになぜか、文章の意味が分からなくなることが多かった。

これは、自分の英語の文章を理解する能力が低かったからであったと考えている。

理由は後で述べるが、音読ではこの理解力が育たなかったため、効果がなかったように感じているのかもしれない。

 

また、上の記事を書いてしまうぐらい音読がつまらなく、モチベーションが低かったのも原因であったと考えられる。

 

自分が受験生の時は音読にお世話になったが、お疲れサラリーマンになった今では負担も大きく楽しくないので続けられなかった。本当にだらだらやっていたと思う。

 

楽しく勉強できる方法を模索するのは本当に大事だなと痛感した。

 

(1-2) 洋書を読む

<方法>

リーディングの勉強ということで、趣味が読書ということもあり、洋書を読み始めた

読み方としては、

(イ)分からない単語もいちいち調べて、ページごとにちゃんと理解しつつ読んだ。俗にいう多読というよりかは精読の方に近い読み方をしていた。

 

(ロ)電子書籍を用いていた電子書籍は英単語の意味をすぐ調べられるので便利。具体的には、Kindle fire英辞郎を入れて洋書を読んでいた。

 

(ハ)行き帰りの通勤で、毎日一時間半ぐらい読んでいた。ペースとしては、一時間半で10〜20ページぐらいしか進まず、一ヶ月で一冊読み終わるぐらいであった。

 

読んだ本は以下の三冊。

"THE MARTIAN" by Andy Weir

"HOW TO FIX A BROKEN HEART" by Guy Winch

"On Chesil Bearch" by Ian McEwan

 

 <効果>

個人的に音読よりも洋書の方が効果があった。その理由を考察してみる。

 

TOEICのリーディングは、未知の文章をどれだけ早く理解できるかも問われるテストである。

つまり、TOEICは”この文章はこういうことが言いたいのか!”と速くひらめくことが求められている。

 

この理解力を高めるためには、音読(理解している文章を繰り返す)よりも、読書(未知の文章を読み進めていく)の方が効果的であると考えられる。なぜなら、読書の方が圧倒的にひらめきを要求される機会が多くなるからだ。

 

また問題集より洋書の方が読んでて面白いので、楽しく勉強できる

 

以上のことから、少なくとも自分にとっては、洋書を読むことが効果的な学習法であったと考えている。

またこの考察から、TOEIC800点程度を取れる基礎力があれば、問題集の繰り返しもいいが、英語を使って未知の世界に飛び込む方が効果的なのではと考え始めるようになった。

 

ちなみに、約3ヶ月半の音読と洋書で、リーディングの正解数が70前半/100(公式問題集 新形式問題対応編 TEST1 点数をメモった紙なくしたけど確かこのくらい)から89/100(公式 TOEIC Listening & Reading 問題集 1 TEST1)になったので効果はあったはず。

 

(1-3) 解き方

 本番の試験では以下のように解いた。

(イ)Part 5は普通に解いた。

(ロ)Part 6は文章全部読む→問題文という順番で解いた。

(ハ)Part 7は、シングルパッセージは、文章全部読む→問題文という順番で解いた。

ダブル・トリプルパッセージだけは問題文→文章の該当する部分だけ読むという順番で解いた。

 

2)リスニング対策

(2-1) ディクテーション

<方法> 

解き終わった公式問題集を使ってディクテーションをした。

特にこれといった工夫もなく聞いて書いていった

 

<効果>

ディクテーションにそこまでの時間を割いていないのでなんとも言えない。

リスニングの勉強としては以下で述べるオーバーラッピングが大半を占めていた。

 

(2-2) オーバーラッピング

<方法>

文章を見ながら音声と一緒に音読した。要はカラオケ。ただし、

<イ>Kindle FireVLC for Fireを入れ、音声の速度を1.2倍にしていた。Kindle Fire大活躍。

 

<ロ>テキストを見ずに一文を音声とシンクロできたら次の一文に移る、を繰り返した。回数で言えば、一文を10回ぐらい繰り返したら次にいっていたと思う。

 

<ハ>毎日一時間ぐらいやっていた。だいたい二週間でpart1の最初からpart4の最後まで終わるぐらいのペース。

 

<効果>

約3ヶ月半で、リスニングの正解数が74/100(公式問題集 新形式問題対応編 TEST1)から91/100(公式 TOEIC Listening & Reading 問題集 1 TEST1)になったので効果はあったはず。

 

ただ未だにリスニングに苦手意識を持っている。本番も当てずっぽうが多かった。

あと、やっぱりやっていて楽しい勉強方法ではない。

 

もう少しリスニングの勉強法を工夫する必要があると言うのが正直なところ。

そもそもリスニングの勉強時間が少なすぎるので、まずそこを改善する。

 

(2-3) 解き方

part1,2は普通に解いた。

part3,4は聞く→解く→ナレーションが解いた問題の問題文を読んでいる最中に、次の問題文を読む。を繰り返した。あまり先の問題は考えず、次の問題に集中した。

 

3)総勉強時間

かなりアバウトだが概算してみる。

勉強期間は約三ヶ月半。 毎日二時間の勉強(音読とオーバーラッピング)をしていたので、

105(日)×2(時間/日)=210時間

通勤時間の読書も入れるなら(+1.5時間)

105(日)×3.5(時間/日)=367.5時間

 

思っていた以上に勉強していた。ただ、結構サボっていたのでこれよりは少ないはず。

 

tensorflow gpuをwindowsにインストールする方法

tensorflow(gpu版)をwindows 7に入れる方法についてのメモ。

 

環境は以下の通り。

Windows 7 64 bit

gpu: NVIDIA Quadro K2200

python 3.6 (Anacondaを用いてインストールした)

tensorflow 1.8

CUDA 9.0

cuDNN v7.1.4

 

 1)OpenCVのインストール

(1-1) ここopencv_python-3.4.1-cp36-cp36m-win amd64.wmlをダウンロード。

 

(1-2) ダウンロードしたファイルがある場所に移動し、以下のコマンドをうつ。

pip install opencv_python-3.4.1-cp36-cp36m-win amd64.wml

 

以下のサイトを参考にした。

OpenCV3.4とPython3.6をAnacondaでWndows10へインストール

  

2)tensorflow gpuのインストール

(2-1) ここから、win-64/tensorflow-gpu-1.8.0-py36_0.tar.bz2をダウンロードする。

 

(2-2) データのある場所に移動して、以下のコマンドでインストールする。

conda install tensorflow-gpu-1.8.0-py36_0.tar.bz2

 

(2-3) pythonを起動して、以下のコマンドでtensorflowをimportする。

import tensorflow as tf

 

エラーが出て、とあるバージョンのCUDAを入れて下さいと出るはず。

自分の場合は、tensorflow 1.8でCUDA 9.0を入れろと言われた。

 

3)CUDAのインストール

ここ(https://developer.nvidia.com/cuda-toolkit-archive)から、上記で確認したバージョンのCUDAをダウンロードし、インストールする。

自分の場合)

CUDA Toolkit 9.0

から

Operating System : Windows 

Architecture : x86_64

Version : 7

Install Type : exe(local)

と進んで

Base Installer

をダウンロードし、インストールした。そうすると、

C:Program Files/NVIDIA GPU Computing Toolkit

ができているはず。続いて、

Patch 1, Patch 2, Patch 3

をダウンロードし、インストールした。

 

4)cuDNNのインストール

(4-1) 事前にNVIDIAのユーザー登録を済ましておく。 

 

(4-2) ここ(https://developer.nvidia.com/rdp/cudnn-download)から、ダウンロードしたCUDAに対応するcuDNN Libraryをダウンロードし、解凍する。

自分の場合はDownload cuDNN v7.1.4 (May 16, 2018), for CUDA 9.0を選択した。

 

(4-3) 解凍するとcudaというフォルダーがデスクトップに現れるはず。

この内部のbin3)でインストールしたCUDAの中のbinと一つにまとめる。

自分の場合は、cuda内にあるbinを

C:Program Files/NVIDIA GPU Computing Toolkit/CUDA/ver9.0/

に放り込んだ(はず。うろ覚え。)。

 

以下を参考にした。

Effectiveさお

 

5)その後の手順

後はCPU版と同様にprotobufabslを入れる。以下の記事を参照のこと。

haitenaipants.hatenablog.com