TensorFlow学习笔记6——《面向机器智能的TensorFlow实践》StanfordDog例程修改记录


    《 面向机器智能的TensorFlow实践》深入浅出,将tensorflow的很多概念讲的很清楚,很适合tensorflow的初学者学习。该书完整的代码在https://github.com/backstopmedia/tensorflowbook点击打开链接可以下载到。这本书最大的缺陷是其中的例子是基于tensorflow 0.8版本的,现在tensorflow已经到1.0版本,有些函数已经更新,在跑其中的例程时,需要修改。1.0版本的主要更新网上随便就能找到。
      除了tensorflow的版本问题之外,代码中还有一些小bug,或者因为读者python编译器的配置问题,导致例程无法跑通。本文是我调试该书第5.5节StanforDog例程记录的问题。

          1、控制台提示错误'utf-8' codec can't encode character '\udcd5' inposition 2575: surrogates not allowed

            逐个函数屏蔽,然后逐条语句屏蔽(原谅我对python 不熟,只能这样找到问题),发现是执行def write_records_file(dataset, record_location)函数时的下述语句报错。
record_filename = "{record_location}-{current_index}.tfrecords".format(
                    record_location=record_location,
                    current_index=current_index)
       可以看出是写tfrecord时的路径问题。
       调用该函数的代码为:
write_records_file(testing_dataset, "./output/testing-images/testing-image")
write_records_file(training_dataset, "./output/training-images/training-image")
       正确做法是,先在.py脚本的目录下,建立/output/testing-images/testing-image和/output/training-images/training-image这两个目录(即文件夹),这样便可正确执行。

         2、size

             write_records_file(dataset, record_location)函数中的
resized_image = tf.image.resize_images(grayscale_image, 250, 151)
       修改为:
resized_image = tf.image.resize_images(grayscale_image, [250, 151])




你可能感兴趣的:(tensorflow)