質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

2315閲覧

「ModuleNotFoundError: No module named 'common'」を解決したい

yukiko1207

総合スコア15

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

1クリップ

投稿2018/09/24 00:19

前提・実現したいこと

Google Colaboratory上で『ゼロから作るDeeplearning②―自然言語処理編』を実装しようとしています。
Webサイト(https://stillalive0304.hatenablog.com/entry/2018/07/30/153753#%E6%BA%96%E5%82%99--%E7%84%A1%E6%96%99GPU%E3%81%AEgoogle-colab%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B)を参考に、
https://github.com/oreilly-japan/deep-learning-from-scratch-2からコード一式をダウンロードし、Google Drive上にそのまま一式アップロードした
②Google ColaboratoryでGoogle Driveをマウントした(マウント自体は多分できた?)
https://github.com/oreilly-japan/deep-learning-from-scratch-2/blob/master/ch02/ppmi.pyのコードを実行しようとしたら、
以下のエラーメッセージが発生しました。
基本的な質問かもしれませんが、どうぞよろしくお願いいたします。

発生している問題・エラーメッセージ

ModuleNotFoundError Traceback (most recent call last) <ipython-input-1-c109aa03a037> in <module>() 2 sys.path.append('content/drive/deep-learning-from-scratch-2-master') 3 import numpy as np ----> 4 from common.util import preprocess, create_co_matrix, cos_similarity, ppmi 5 6 ModuleNotFoundError: No module named 'common' --------------------------------------------------------------------------- NOTE: If your import is failing due to a missing package, you can manually install dependencies using either !pip or !apt. To view examples of installing some common dependencies, click the "Open Examples" button below.

該当のソースコード

# coding: utf-8 import sys sys.path.append('content/drive/deep-learning-from-scratch-2-master') import numpy as np from common.util import preprocess, create_co_matrix, cos_similarity, ppmi text = 'You say goodbye and I say hello.' corpus, word_to_id, id_to_word = preprocess(text) vocab_size = len(word_to_id) C = create_co_matrix(corpus, vocab_size) W = ppmi(C) np.set_printoptions(precision=3) # 有効桁3桁で表示 print('covariance matrix') print(C) print('-'*50) print('PPMI') print(W)

試したこと

sys.path.append以下の('content/drive/deep-learning-from-scratch-2-master')の中身を変えたりして試行錯誤しましたが、
うまくいきません。

補足情報(FW/ツールのバージョンなど)

Pythonのバージョン:2.7
OS:Windows 10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まずはじめに、

数日前から、参考にしているページの方法では GoogleDriveにマウントできなくなっているという事をご存知でしょうか?

https://github.com/astrada/google-drive-ocamlfuse/issues/492#issuecomment-422309650

上記のページにもかかれておりますが、 GoogleDriveをマウントするには

from google.colab import drive drive.mount('/content/drive')

の2行で行えるはずです。

次に、エラーを取り除く方法ですが、

sys.path.append以下の('content/drive/deep-learning-from-scratch-2-master')の中身を変えたりして試行錯誤しましたが、うまくいきません。

のように、やみくもに試行錯誤を繰り返すのではなく、例えば

Python

1import os 2os.chdir('/content/drive') 3!find -name 'deep-learning-from-scratch-2'

のようにして、 "deep-learning-from-scratch-2" のPATHをちゃんと確認してから sys.path.append() を設定するようにすると良いかと思います。

投稿2018/09/24 04:23

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukiko1207

2018/09/24 05:44

回答ありがとうございます。 1、追記するのを忘れていたのですが、 Google Driveのマウントは、最初に参照したWebサイトのやり方ではうまくいかなかったので、 Google Colaboratoryの公式ページを参照し、 from google.colab import drive drive.mount('/content/drive') で行いました。 2、次にPATHの確認方法ですが、 教えていただいた import os os.chdir('/content/drive') !find -name 'deep-learning-from-scratch-2' を実行すると、 FileNotFoundError: [Errno 2] No such file or directory: '/content/drive' と出ました。 どうすればよろしいでしょうか? よろしくお願いいたします。
magichan

2018/09/24 06:02

うーん何でだろ?。Mountした時のPATHと os.chdir() のPATHが微妙に違ったりしませんかね。 とりあえず、順番に確認しましょう 1. "drive.mount('/content/drive')" コマンドは問題なく成功して "Mounted at /content/drive" という表示は出力されてますでしょうか? 2. "!mount" を実行すると結果として上記のマウント("drive on /content/drive ..."という表記) は含まれているでしょうか? 3. "!ls /content/drive" を実行した結果はどうなっておりますでしょうか?(私の環境では "My Drive" が得られます) 以上が問題ないようであれば、 os.chdir('/content/drive') は問題なく動作すると思うのですが。
yukiko1207

2018/09/24 06:22

回答ありがとうございます。 度々申し訳ございません。 1. はい 2. いいえ "drive on /content/drive ..."という表記)は含まれていません。 下記のような結果が表示されます。 overlay on / type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/3SHPUM6WTTILQFZLRDGW3X2BXA:/var/lib/docker/overlay2/l/EXV2N7F3327YMJTZPM5MH434UM:/var/lib/docker/overlay2/l/BDBMIJ4KEVZ55TYBWYUBV3LIZA:/var/lib/docker/overlay2/l/66ZZZVY4TNDOHLOYEQV5V2TRDX:/var/lib/docker/overlay2/l/IHXFHYDZ7KJZLHHCLVIH3TE4QD:/var/lib/docker/overlay2/l/SUPBSQPK4CAPNHFN7HIETU5RB5:/var/lib/docker/overlay2/l/CRQ7B26MBK35WNBSBZPTULVNY6:/var/lib/docker/overlay2/l/7ASPICDW4HDJIEOGPZWBHBYNUF:/var/lib/docker/overlay2/l/ONQYYP3WNDMZZA4YRAL4GHZ6IB,upperdir=/var/lib/docker/overlay2/f16557b58834a7d86fabae44f2e1c84e6095cb81c7f9d9e5a036c1122d0c0f19/diff,workdir=/var/lib/docker/overlay2/f16557b58834a7d86fabae44f2e1c84e6095cb81c7f9d9e5a036c1122d0c0f19/work) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev type tmpfs (rw,nosuid,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666) sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,relatime,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (ro,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (ro,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/memory type cgroup (ro,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/blkio type cgroup (ro,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/pids type cgroup (ro,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/rdma type cgroup (ro,nosuid,nodev,noexec,relatime,rdma) cgroup on /sys/fs/cgroup/perf_event type cgroup (ro,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/devices type cgroup (ro,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/hugetlb type cgroup (ro,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/freezer type cgroup (ro,nosuid,nodev,noexec,relatime,freezer) mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime) tmpfs on /opt/bin type tmpfs (rw,nosuid,nodev) tmpfs on /var/colab type tmpfs (rw,nosuid,nodev) tmpfs on /usr/lib64-nvidia type tmpfs (rw,nosuid,nodev) /dev/sda1 on /etc/resolv.conf type ext4 (rw,nosuid,nodev,relatime,commit=30,data=ordered) /dev/sda1 on /etc/hostname type ext4 (rw,nosuid,nodev,relatime,commit=30,data=ordered) /dev/sda1 on /etc/hosts type ext4 (rw,nosuid,nodev,relatime,commit=30,data=ordered) shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k) proc on /proc/bus type proc (ro,nosuid,nodev,noexec,relatime) proc on /proc/fs type proc (ro,nosuid,nodev,noexec,relatime) proc on /proc/irq type proc (ro,nosuid,nodev,noexec,relatime) proc on /proc/sys type proc (ro,nosuid,nodev,noexec,relatime) proc on /proc/sysrq-trigger type proc (ro,nosuid,nodev,noexec,relatime) tmpfs on /proc/kcore type tmpfs (rw,nosuid,mode=755) tmpfs on /proc/timer_list type tmpfs (rw,nosuid,mode=755) tmpfs on /sys/firmware type tmpfs (ro,relatime) 3. ls: cannot access '/content/drive': No such file or directory と表示されます。 よろしくお願いいたします。
magichan

2018/09/24 06:43

結果を見る限りは GoogleDriveが /content/drive に mount されてないようにように見えますね
yukiko1207

2018/09/27 09:52

すみません、解決できました。 原因は、 drive.mount('/content/drive') を、なぜか drive.mount('/content/gdrive') と打っていました。。 さらに、magichan様に教えていただいた方法でPATHをちゃんと確認するとうまくいきました! 丁寧なご回答ありがとうございました!大変助かりました<(_ _)>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問