python train.py
とコマンドを入れても、エラー文が出てきます。
どなたか教えてください。
ーエラー文ー
Traceback (most recent call last):
File "train.py", line 4, in <module>
from UNet import model
ModuleNotFoundError: No module named 'UNet
ファイルの場所がおかしいのかと思って確認しても、特に間違っていない。
--フォルダ--
UNet
-dataset
-test
-config.yaml
-model.py
-prediction.py
-prepare_data.py
-train.py
train.py
python
1import tensorflow as tf 2import tensorflow.keras.backend as K 3import yaml 4from UNet import model 5from UNet.prepare_data import data_gen 6 7 8def dice_coef(y_true, y_pred): 9 y_true = K.flatten(y_true) 10 y_pred = K.flatten(y_pred) 11 intersection = K.sum(y_true * y_pred) 12 return 2.0 * intersection / (K.sum(y_true) + K.sum(y_pred) + 1) 13 14 15def dice_coef_loss(y_true, y_pred): 16 return 1.0 - dice_coef(y_true, y_pred) 17 18 19def train(args: dict): 20 lr: float = args["learning_rate"] 21 n_classes: int = args["n_classes"] 22 23 unet = model.UNet(args) 24 unet.compile( 25 optimizer=tf.keras.optimizers.Adam(lr), 26 loss=dice_coef_loss, 27 metrics=["accuracy"], 28 ) 29 unet.summary() 30 31 ckpt = tf.keras.callbacks.ModelCheckpoint( 32 filepath="./UNet/params/model.h5", 33 monitor="loss", 34 save_best_only=True, 35 save_weights_only=True, 36 verbose=1, 37 ) 38 39 segmented_data = args[ 40 "segmented_data" 41 ] # os.path.join(args.train_data, "../segmented_images") 42 generator = data_gen( 43 args["train_data"], segmented_data, args["batch_size"], n_classes 44 ) 45 unet.fit_generator(generator, steps_per_epoch=30, epochs=100, callbacks=[ckpt]) 46 47 48if __name__ == "__main__": 49 if tf.__version__ >= "2.0.0": 50 device = tf.config.experimental.list_physical_devices("GPU") 51 if len(device) > 0: 52 for dev in device: 53 tf.config.experimental.set_memory_growth(dev, True) 54 else: 55 config = tf.ConfigProto() 56 config.gpu_options.allow_growth = True 57 tf.keras.backend.set_session(tf.Session(config=config)) 58 59 with open("./UNet/config.yaml") as f: 60 args = yaml.safe_load(f) 61 62 train(args) 63
> No module named 'UNet
Pythonで
import os
print(os.listdir("./"))
を実行した時の結果表示の中に、「UNet」が含まれていますでしょうか?
・上記の結果表示の中に、「UNet」が含まれている
・「UNet」ディレクトリの中に「model.py」がある
という状態になれば、
> from UNet import model
でエラー出なくなると思います
> --フォルダ--
UNet
以降に書かれてるのを見ると、「model.py」があるのは、「UNet」ディレクトリの中ではないように見えます
・「UNet」ディレクトリの中に、「dataset」ディレクトリと「test」ディレクトリがある
・その「test」ディレクトリの中に、「model.py」とかがある
のですか?
回答ありがとうございます。
書き方が悪かったです。
・UNetフォルダにフォルダdataset,testがある。
・--となっている部分はフォルダUNetに入っている(testには入っていない)
質問文を修正します。
回答1件
あなたの回答
tips
プレビュー