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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

604閲覧

caffemodelをpickleで読み込みたいです

Shinnosuke0522

総合スコア7

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/01/21 10:01

編集2018/01/21 14:47

###前提・実現したいこと
googlenetをpickle.loadで保存して読み込みたいです

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

File "resize.py", line 23, in <module> pickle.dump(model, pkl) ReferenceError: weakly-referenced object no longer exists

###該当のソースコード

import os from PIL import Image import numpy as np import pickle import chainer from chainer.links.caffe import CaffeFunction MODEL = 'bvlc_googlenet.caffemodel' PICKLE = 'googlenet.pkl' if os.path.exists(PICKLE): print("Load pickle") with open(PICKLE, 'rb') as pkl: model = pickle.load(pkl) else: print("Load caffemodel and make pickle") if os.path.exists(MODEL): model = CaffeFunction(MODEL) with open(PICKLE, 'wb') as pkl: pickle.dump(model, pkl) print(MODEL + " not found.")

###試したこと
googleで検索をかけてみたが
よくわからなかった
###補足情報(言語/FW/ツール等のバージョンなど)
Python 3.6.1
Anaconda 4.4.0 (x86_64)
chainer (3.2.0)

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

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

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

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

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

Shinnosuke0522

2018/01/21 10:13 編集

すでにリクエストしております
Shinnosuke0522

2018/01/21 12:21

それは見ておりませんでした、失礼しました
guest

回答1

0

googlenet.pklがちゃんと書き込まれているか確認して下さい。

投稿2018/01/21 10:40

hichon

総合スコア5737

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

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

Shinnosuke0522

2018/01/21 10:49

回答ありがとうございます。 googlenet.pklが存在しない場合、これを作成するスクリプトのようなのですが このスクリプトが動かないため、googlenet.pklは作成できておりません
hichon

2018/01/21 11:43

存在しない場合、elseのブロックが実行されるはずですが?
退会済みユーザー

退会済みユーザー

2018/01/21 12:13

とりあえず、カレントにあるgooglenet.pklを削除して実行すればelse節に飛ぶので、そこで良しなに作成してくれるのでは?
Shinnosuke0522

2018/01/21 12:36

hichon 様 kako_mirai 様 回答ありがとございます。 googlenet.pklが生成されていたのを見落としていました。 googlenet.pklを削除して再実行したところ elseブロックがじっこうされました しかし次のようなエラーが出てしまいました ReferenceError: weakly-referenced object no longer exists これはどのようなエラーなのでしょうか?
退会済みユーザー

退会済みユーザー

2018/01/21 12:48

そのエラーは、参照先のオブジェクトが解放されてもうないというエラーです。 ご呈示のコードから推測するに、model変数がif文の中で突然出ているので、if文を抜けると消えているのでは? if文の前でたとえばmodel=Noneとか書いておけば、以降のコードで見れるということかな。、、全然別な箇所かもしれませんけど。
Shinnosuke0522

2018/01/21 13:28

kako_mirai 様 エラーが pickle.dump(model, pkl) ReferenceError: weakly-referenced object no longer exists で表示されたので おそらく変数modelが原因ではないと思われます。
退会済みユーザー

退会済みユーザー

2018/01/21 13:49

bvlc_googlenet.caffemodelファイルはダウンロード済みで、カレントに置いてありますか?
退会済みユーザー

退会済みユーザー

2018/01/21 14:14

そうですか。コードは問題なさそうですし、残念ですがそのエラーの原因は読み取れませんね。
Shinnosuke0522

2018/01/21 14:44

kako_mirai 様 そうですか。回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問