我装了tensorflow后发现c盘有重复的目录和文件,另外问下库文件修改源码怎么生效
我装了tensorflow后发现C盘有重复的路径,比如:C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\~ensorflow\python\keras
C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\keras
都是一样的文件,并且修改时间一模一样,也不知道我写的程序运行时到底加载的哪个地方的文件。
另外我想修改C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\keras\datasets这个目录下的文件fashion_mnist.py,我自己的代码运行这个文件里的接口了,修改后发现程序没有变化,怎么让他生效呢?(这个文件在上面两个目录都有,我两个地方都修改了,但是都不生效)
运行 print(sys.path) 你会看到一堆目录,
python 会优先从相对靠前的目录加载模块。
修改了库文件的代码后只要保存就会立即生效,
你以后使用修改后的模块时会使用你已经修改好的模块。
打字不易,记得设置最佳{:10_333:} nahongyan1997 发表于 2021-6-24 17:52
运行 print(sys.path) 你会看到一堆目录,
python 会优先从相对靠前的目录加载模块。
我改的那个模块的源文件有个目录__pycache__,里面有与源文件同名的pyc文件,我查了一下,这是什么字节码文件,我改了源文件后就是没有执行改后的文件,太奇怪了 本帖最后由 tomorrow918 于 2021-6-24 19:15 编辑
我用print(sys.path)显示下列结果:
['D:\\python', 'D:\\', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\Python37.zip', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\DLLs', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\Lib\\site-packages\\Pythonwin', 'C:\\Users\\admin\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\win32', 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\win32\\lib', 'D:\\python']
我搜索了我引用的模块的源文件fashion_mnist.py里面的接口load_data,我在这个接口里加入一行 print('aaaaaaaaaaaaaaaaaaaaaaa'),运行的时候就是不显示这个调试信息
只有下面两个目录有这个文件:
C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\keras\datasets
C:\Users\admin\AppData\Local\Programs\Python\Python37\Lib\site-packages\~ensorflow\python\keras\datasets
我把这两个目录的文件fashion_mnist.py都加入了上面print('aaaaaaaaaaaaaaaaaaaaaaa')就是不显示出来。
我自己的代码调用方式:
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() 本帖最后由 nahongyan1997 于 2021-6-24 20:36 编辑
放代码吧,不然真不知道
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
这样编程真的不会报错吗? (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
我想说这样编程真的不会报错吗?? 本帖最后由 nahongyan1997 于 2021-6-24 20:51 编辑
为什么我的回答消失了
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
我觉得你这条语句是不是报错了。
直接这样执行试试:
fashion_mnist.load_data()
或者:
keras.datasets.fashion_mnist() nahongyan1997 发表于 2021-6-24 20:49
为什么我的回答消失了
语句没问题,返回的就是两个元组,程序功能都没有问题。我就是想改源模块的代码试试效果 tomorrow918 发表于 2021-6-24 21:05
语句没问题,返回的就是两个元组,程序功能都没有问题。我就是想改源模块的代码试试效果
不方便放代码?? nahongyan1997 发表于 2021-6-24 21:07
不方便放代码??
方便呀,关键的我都放了,那我再放一点。
下面是我的代码:
# TensorFlow and tf.keras
import tensorflow as tf
import sys
from tensorflow import keras
# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
#print(sys.path)
print(tf.__version__)
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
下面是
"""Fashion-MNIST dataset."""
import gzip
import os
import numpy as np
from keras.utils.data_utils import get_file
from tensorflow.python.util.tf_export import keras_export
@keras_export('keras.datasets.fashion_mnist.load_data')
def load_data():
print('aaaaaaaaaaaaaaaaaaaaaaa')
dirname = os.path.join('datasets', 'fashion-mnist')
base = 'https://storage.googleapis.com/tensorflow/tf-keras-datasets/'
files = [
'train-labels-idx1-ubyte.gz', 'train-images-idx3-ubyte.gz',
't10k-labels-idx1-ubyte.gz', 't10k-images-idx3-ubyte.gz'
]
paths = []
for fname in files:
paths.append(get_file(fname, origin=base + fname, cache_subdir=dirname))
with gzip.open(paths, 'rb') as lbpath:
y_train = np.frombuffer(lbpath.read(), np.uint8, offset=8)
with gzip.open(paths, 'rb') as imgpath:
x_train = np.frombuffer(
imgpath.read(), np.uint8, offset=16).reshape(len(y_train), 28, 28)
with gzip.open(paths, 'rb') as lbpath:
y_test = np.frombuffer(lbpath.read(), np.uint8, offset=8)
with gzip.open(paths, 'rb') as imgpath:
x_test = np.frombuffer(
imgpath.read(), np.uint8, offset=16).reshape(len(y_test), 28, 28)
return (x_train, y_train), (x_test, y_test)
我自己的代码:
# TensorFlow and tf.keras
import tensorflow as tf
import sys
from tensorflow import keras
# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
#print(sys.path)
print(tf.__version__)
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
后面还有很多,就不贴了,能正常跑
调用的文件: fashion_mnist.py:
import gzip
import os
import numpy as np
from keras.utils.data_utils import get_file
from tensorflow.python.util.tf_export import keras_export
@keras_export('keras.datasets.fashion_mnist.load_data')
def load_data():
print('aaaaaaaaaaaaaaaaaaaaaaa')
后面还有很多,我只想加了这一行后能打印出来就行
tomorrow918 发表于 2021-6-24 21:21
我自己的代码:
# TensorFlow and tf.keras
import tensorflow as tf
我得说我确实不会用函数修饰符,
但是你把@ 的那一行去掉肯定就能用了。 nahongyan1997 发表于 2021-6-25 12:32
我得说我确实不会用函数修饰符,
但是你把@ 的那一行去掉肯定就能用了。
大神,我去掉了也不行,要不你在线帮我调一下吧,我找不到头绪了。我QQ:85511938 tomorrow918 发表于 2021-6-25 17:14
大神,我去掉了也不行,要不你在线帮我调一下吧,我找不到头绪了。我QQ:85511938
这活没有20鱼币能给干嘛{:10_256:}
页:
[1]