当 tf.keras.utils.get_file 行完成下载或文件已经存在时,我的脚本就像使用 sleep() 一样冻结,但无限冻结。我对tensorflow和python还很陌生,所以我不知道为什么会发生这种情况。
如果有帮助的话,我正在使用tensorflow 2.16.1和python 3.12.4。
import matplotlib.pyplot as plt
import os
import re
import shutil
import string
import tensorflow as tf
from tensorflow.keras import layers # type: ignore
from tensorflow.keras import losses # type: ignore
url = "https://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz"
dataset = tf.keras.utils.get_file("aclImdb_v1", url,
untar=True, cache_dir='.',
cache_subdir='')
print("test")
dataset_dir = os.path.join(os.path.dirname(dataset), 'aclImdb')
os.listdir(dataset_dir)
train_dir = os.path.join(dataset_dir, 'train')
os.listdir(train_dir)
sample_file = os.path.join(train_dir, 'pos/1181_9.txt')
with open(sample_file) as f:
print(f.read())
如果您使用
cachedir = '.'
,这可能是您问题的一部分,因为那是您保存下载文件的缓存。更正常的 cachedir
是 $KERAS_HOME
或 ~/.keras/
。另外,untar
已被弃用 - 请参阅
https://www.tensorflow.org/api_docs/python/tf/keras/utils/get_file